From 726b2da66e23f6c5ca1d7cfde660834df2d6847a Mon Sep 17 00:00:00 2001 From: leanprover-community-bot Date: Sat, 4 Mar 2023 12:39:09 +0000 Subject: [PATCH] bump to nightly-2023-03-04-12 mathlib commit https://github.com/leanprover-community/mathlib/commit/62e8311c791f02c47451bf14aa2501048e7c2f33 --- Mathbin/Algebra/Algebra/Equiv.lean | 18 +- Mathbin/Algebra/Algebra/Hom.lean | 2 +- Mathbin/Algebra/BigOperators/Associated.lean | 2 +- Mathbin/Algebra/BigOperators/Finsupp.lean | 60 +-- .../Algebra/Lie/NonUnitalNonAssocAlgebra.lean | 26 + Mathbin/Algebra/MonoidAlgebra/Basic.lean | 8 +- Mathbin/Algebra/Star/StarAlgHom.lean | 492 +++++++++++++++++- Mathbin/CategoryTheory/Bicategory/Basic.lean | 25 +- Mathbin/CategoryTheory/Bicategory/Free.lean | 24 +- .../Bicategory/FunctorBicategory.lean | 2 +- .../CategoryTheory/Bicategory/SingleObj.lean | 12 +- Mathbin/CategoryTheory/Category/Cat.lean | 4 +- Mathbin/CategoryTheory/Limits/Comma.lean | 8 +- Mathbin/CategoryTheory/Limits/Unit.lean | 24 +- Mathbin/CategoryTheory/Monoidal/Bimod.lean | 24 +- Mathbin/Combinatorics/SimpleGraph/Prod.lean | 124 ++++- Mathbin/Data/Finset/Finsupp.lean | 6 +- Mathbin/Data/Finsupp/Alist.lean | 10 +- Mathbin/Data/Finsupp/Antidiagonal.lean | 8 +- Mathbin/Data/Finsupp/Basic.lean | 246 ++++----- Mathbin/Data/Finsupp/BigOperators.lean | 4 +- Mathbin/Data/Finsupp/Defs.lean | 178 +++---- Mathbin/Data/Finsupp/Fin.lean | 4 +- Mathbin/Data/Finsupp/Indicator.lean | 6 +- Mathbin/Data/Finsupp/Interval.lean | 14 +- Mathbin/Data/Finsupp/Lex.lean | 12 +- Mathbin/Data/Finsupp/Multiset.lean | 66 ++- Mathbin/Data/Finsupp/NeLocus.lean | 46 +- Mathbin/Data/Finsupp/Order.lean | 38 +- Mathbin/Data/Finsupp/Pointwise.lean | 6 +- Mathbin/Data/Finsupp/ToDfinsupp.lean | 54 +- Mathbin/Data/List/Basic.lean | 8 +- Mathbin/Data/Polynomial/Module.lean | 2 +- Mathbin/LinearAlgebra/Basic.lean | 22 +- Mathbin/LinearAlgebra/Basis.lean | 124 ++--- Mathbin/LinearAlgebra/Basis/Bilinear.lean | 4 +- Mathbin/LinearAlgebra/Dfinsupp.lean | 2 +- Mathbin/LinearAlgebra/Finsupp.lean | 280 +++++----- Mathbin/LinearAlgebra/LinearIndependent.lean | 50 +- Mathbin/Topology/Algebra/Group/Basic.lean | 10 +- Mathbin/Topology/Algebra/Localization.lean | 2 +- Mathbin/Topology/Algebra/Ring/Basic.lean | 140 ++++- Mathbin/Topology/Algebra/Ring/Ideal.lean | 2 +- Mathbin/Topology/Instances/Int.lean | 62 +++ .../MetricSpace/EmetricParacompact.lean | 4 +- Mathbin/Topology/MetricSpace/Infsep.lean | 470 ++++++++++++++++- .../Topology/MetricSpace/MetricSeparated.lean | 60 +++ lake-manifest.json | 8 +- lakefile.lean | 4 +- 49 files changed, 2044 insertions(+), 763 deletions(-) diff --git a/Mathbin/Algebra/Algebra/Equiv.lean b/Mathbin/Algebra/Algebra/Equiv.lean index adf473f099..534b99fa1e 100644 --- a/Mathbin/Algebra/Algebra/Equiv.lean +++ b/Mathbin/Algebra/Algebra/Equiv.lean @@ -361,7 +361,7 @@ def toAlgHom : A₁ →ₐ[R] A₂ := lean 3 declaration is forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquiv.toAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.coeTC.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.algEquivClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))))) e) but is expected to have type - forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquiv.toAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e) (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) := RingHomClass.toRingHom.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))) e; AlgHom.mk.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (RingHom.mk.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (MonoidHom.mk.{u2, u3} A₁ A₂ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (OneHom.mk.{u2, u3} A₁ A₂ (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (FunLike.coe.{succ (max u2 u3), succ u2, succ u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ (fun (a : A₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₁) => A₂) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} R A₁ A₂ (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (AlgHomClass.linearMapClass.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)))))) e) (AlgHomClass.coeTC.proof_1.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.coeTC.proof_2.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.coeTC.proof_3.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e) (AlgHomClass.coeTC.proof_4.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.commutes.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) + forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquiv.toAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e) (AlgHomClass.toAlgHom.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e) Case conversion may be inaccurate. Consider using '#align alg_equiv.to_alg_hom_eq_coe AlgEquiv.toAlgHom_eq_coeₓ'. -/ @[simp] theorem toAlgHom_eq_coe : e.toAlgHom = e := @@ -379,7 +379,7 @@ theorem coe_algHom : ((e : A₁ →ₐ[R] A₂) : A₁ → A₂) = e := lean 3 declaration is forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.coeTC.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.algEquivClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)))))) but is expected to have type - forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (fun (x : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) => let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) := RingHomClass.toRingHom.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))) x; AlgHom.mk.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (RingHom.mk.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (MonoidHom.mk.{u2, u3} A₁ A₂ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (OneHom.mk.{u2, u3} A₁ A₂ (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (FunLike.coe.{succ (max u2 u3), succ u2, succ u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ (fun (a : A₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₁) => A₂) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} R A₁ A₂ (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (AlgHomClass.linearMapClass.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)))))) x) (AlgHomClass.coeTC.proof_1.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) x)) (AlgHomClass.coeTC.proof_2.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) x)) (AlgHomClass.coeTC.proof_3.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) x) (AlgHomClass.coeTC.proof_4.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) x)) (AlgHomClass.commutes.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) x)) + forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.toAlgHom.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))) Case conversion may be inaccurate. Consider using '#align alg_equiv.coe_alg_hom_injective AlgEquiv.coe_algHom_injectiveₓ'. -/ theorem coe_algHom_injective : Function.Injective (coe : (A₁ ≃ₐ[R] A₂) → A₁ →ₐ[R] A₂) := fun e₁ e₂ h => ext <| AlgHom.congr_fun h @@ -389,7 +389,7 @@ theorem coe_algHom_injective : Function.Injective (coe : (A₁ ≃ₐ[R] A₂) lean 3 declaration is forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)) (RingHom.hasCoeT.{max u2 u3, u2, u3} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgHom.algHomClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))))) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.coeTC.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.algEquivClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))))) e)) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (RingEquiv.{u2, u3} A₁ A₂ (Distrib.toHasMul.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasMul.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Distrib.toHasAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingEquiv.{u2, u3} A₁ A₂ (Distrib.toHasMul.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasMul.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Distrib.toHasAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingEquiv.{u2, u3} A₁ A₂ (Distrib.toHasMul.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasMul.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Distrib.toHasAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)) (RingHom.hasCoeT.{max u2 u3, u2, u3} (RingEquiv.{u2, u3} A₁ A₂ (Distrib.toHasMul.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasMul.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Distrib.toHasAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (RingEquivClass.toRingHomClass.{max u2 u3, u2, u3} (RingEquiv.{u2, u3} A₁ A₂ (Distrib.toHasMul.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasMul.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Distrib.toHasAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (RingEquiv.ringEquivClass.{u2, u3} A₁ A₂ (Distrib.toHasMul.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasMul.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Distrib.toHasAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))))))) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (RingEquiv.{u2, u3} A₁ A₂ (Distrib.toHasMul.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasMul.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Distrib.toHasAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (RingEquiv.{u2, u3} A₁ A₂ (Distrib.toHasMul.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasMul.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Distrib.toHasAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (RingEquiv.{u2, u3} A₁ A₂ (Distrib.toHasMul.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasMul.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Distrib.toHasAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (RingEquiv.hasCoeT.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Distrib.toHasMul.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toHasMul.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Distrib.toHasAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (AlgEquivClass.toRingEquivClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.algEquivClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))))) e)) but is expected to have type - forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)) (RingHomClass.toRingHom.{max u2 u3, u2, u3} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgHom.algHomClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) (AlgHom.mk.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (RingHom.mk.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (MonoidHom.mk.{u2, u3} A₁ A₂ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (OneHom.mk.{u2, u3} A₁ A₂ (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (FunLike.coe.{succ (max u2 u3), succ u2, succ u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ (fun (a : A₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₁) => A₂) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} R A₁ A₂ (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (AlgHomClass.linearMapClass.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)))))) e) (AlgHomClass.coeTC.proof_1.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.coeTC.proof_2.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.coeTC.proof_3.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e) (AlgHomClass.coeTC.proof_4.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.commutes.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e))) (RingHomClass.toRingHom.{max u2 u3, u2, u3} (RingEquiv.{u2, u3} A₁ A₂ (NonUnitalNonAssocSemiring.toMul.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Distrib.toAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (RingEquivClass.toRingHomClass.{max u2 u3, u2, u3} (RingEquiv.{u2, u3} A₁ A₂ (NonUnitalNonAssocSemiring.toMul.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Distrib.toAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (RingEquiv.instRingEquivClassRingEquiv.{u2, u3} A₁ A₂ (NonUnitalNonAssocSemiring.toMul.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Distrib.toAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))))) (RingEquivClass.toRingEquiv.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (NonUnitalNonAssocSemiring.toMul.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Distrib.toAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Distrib.toAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (AlgEquivClass.toRingEquivClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) + forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)) (RingHomClass.toRingHom.{max u2 u3, u2, u3} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgHom.algHomClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) (AlgHomClass.toAlgHom.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (RingHomClass.toRingHom.{max u2 u3, u2, u3} (RingEquiv.{u2, u3} A₁ A₂ (NonUnitalNonAssocSemiring.toMul.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Distrib.toAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (RingEquivClass.toRingHomClass.{max u2 u3, u2, u3} (RingEquiv.{u2, u3} A₁ A₂ (NonUnitalNonAssocSemiring.toMul.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Distrib.toAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (RingEquiv.instRingEquivClassRingEquiv.{u2, u3} A₁ A₂ (NonUnitalNonAssocSemiring.toMul.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Distrib.toAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Distrib.toAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))))) (RingEquivClass.toRingEquiv.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (NonUnitalNonAssocSemiring.toMul.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Distrib.toAdd.{u2} A₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Distrib.toAdd.{u3} A₂ (NonUnitalNonAssocSemiring.toDistrib.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (AlgEquivClass.toRingEquivClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) Case conversion may be inaccurate. Consider using '#align alg_equiv.coe_ring_hom_commutes AlgEquiv.coe_ringHom_commutesₓ'. -/ /-- The two paths coercion can take to a `ring_hom` are equivalent -/ theorem coe_ringHom_commutes : ((e : A₁ →ₐ[R] A₂) : A₁ →+* A₂) = ((e : A₁ ≃+* A₂) : A₁ →+* A₂) := @@ -451,7 +451,7 @@ instance : Inhabited (A₁ ≃ₐ[R] A₁) := lean 3 declaration is forall {R : Type.{u1}} {A₁ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2], Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (HasLiftT.mk.{succ u2, succ u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (CoeTCₓ.coe.{succ u2, succ u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHomClass.coeTC.{u1, u2, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgEquivClass.toAlgHomClass.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.algEquivClass.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5))))) (AlgEquiv.refl.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) but is expected to have type - forall {R : Type.{u1}} {A₁ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2], Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u2, u2} A₁ A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) := RingHomClass.toRingHom.{u2, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) A₁ A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (AlgHomClass.toRingHomClass.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquivClass.toAlgHomClass.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5))) (AlgEquiv.refl.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5); AlgHom.mk.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (RingHom.mk.{u2, u2} A₁ A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (MonoidHom.mk.{u2, u2} A₁ A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (OneHom.mk.{u2, u2} A₁ A₁ (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (FunLike.coe.{succ u2, succ u2, succ u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) A₁ (fun (a : A₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₁) => A₁) a) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R A₁ A₁ (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (AlgHomClass.linearMapClass.{u1, u2, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgEquivClass.toAlgHomClass.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5)))))) (AlgEquiv.refl.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (AlgHomClass.coeTC.proof_1.{u2, u2, u2, u1} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgEquivClass.toAlgHomClass.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5)) (AlgEquiv.refl.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))) (AlgHomClass.coeTC.proof_2.{u2, u2, u2, u1} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgEquivClass.toAlgHomClass.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5)) (AlgEquiv.refl.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))) (AlgHomClass.coeTC.proof_3.{u2, u2, u2, u1} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgEquivClass.toAlgHomClass.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5)) (AlgEquiv.refl.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (AlgHomClass.coeTC.proof_4.{u2, u2, u2, u1} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgEquivClass.toAlgHomClass.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5)) (AlgEquiv.refl.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))) (AlgHomClass.commutes.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquivClass.toAlgHomClass.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5)) (AlgEquiv.refl.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) + forall {R : Type.{u1}} {A₁ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2], Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHomClass.toAlgHom.{u1, u2, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgEquivClass.toAlgHomClass.{u2, u1, u2, u2} (AlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5)) (AlgEquiv.refl.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) Case conversion may be inaccurate. Consider using '#align alg_equiv.refl_to_alg_hom AlgEquiv.refl_to_algHomₓ'. -/ @[simp] theorem refl_to_algHom : ↑(refl : A₁ ≃ₐ[R] A₁) = AlgHom.id R A₁ := @@ -669,7 +669,7 @@ theorem trans_apply (e₁ : A₁ ≃ₐ[R] A₂) (e₂ : A₂ ≃ₐ[R] A₃) (x lean 3 declaration is forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{succ u3} (AlgHom.{u1, u3, u3} R A₂ A₂ _inst_1 _inst_3 _inst_3 _inst_6 _inst_6) (AlgHom.comp.{u1, u3, u2, u3} R A₂ A₁ A₂ _inst_1 _inst_3 _inst_2 _inst_3 _inst_6 _inst_5 _inst_6 ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.coeTC.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.algEquivClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))))) e) ((fun (a : Sort.{max (succ u3) (succ u2)}) (b : Sort.{max (succ u3) (succ u2)}) [self : HasLiftT.{max (succ u3) (succ u2), max (succ u3) (succ u2)} a b] => self.0) (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (HasLiftT.mk.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (CoeTCₓ.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgHomClass.coeTC.{u1, u3, u2, max u3 u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u3 u2, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.algEquivClass.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5))))) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e))) (AlgHom.id.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) but is expected to have type - forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{succ u3} (AlgHom.{u1, u3, u3} R A₂ A₂ _inst_1 _inst_3 _inst_3 _inst_6 _inst_6) (AlgHom.comp.{u1, u3, u2, u3} R A₂ A₁ A₂ _inst_1 _inst_3 _inst_2 _inst_3 _inst_6 _inst_5 _inst_6 (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) := RingHomClass.toRingHom.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))) e; AlgHom.mk.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (RingHom.mk.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (MonoidHom.mk.{u2, u3} A₁ A₂ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (OneHom.mk.{u2, u3} A₁ A₂ (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (FunLike.coe.{succ (max u2 u3), succ u2, succ u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ (fun (a : A₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₁) => A₂) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} R A₁ A₂ (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (AlgHomClass.linearMapClass.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)))))) e) (AlgHomClass.coeTC.proof_1.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.coeTC.proof_2.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.coeTC.proof_3.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e) (AlgHomClass.coeTC.proof_4.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.commutes.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u3, u2} A₂ A₁ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) := RingHomClass.toRingHom.{max u2 u3, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) A₂ A₁ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5))) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e); AlgHom.mk.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (RingHom.mk.{u3, u2} A₂ A₁ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (MonoidHom.mk.{u3, u2} A₂ A₁ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (OneHom.mk.{u3, u2} A₂ A₁ (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (FunLike.coe.{succ (max u2 u3), succ u3, succ u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) A₂ (fun (a : A₂) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₂) => A₁) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, u2, max u2 u3} R A₂ A₁ (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (AlgHomClass.linearMapClass.{u1, u3, u2, max u2 u3} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)))))) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (AlgHomClass.coeTC.proof_1.{u2, u3, max u2 u3, u1} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e))) (AlgHomClass.coeTC.proof_2.{u2, u3, max u2 u3, u1} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e))) (AlgHomClass.coeTC.proof_3.{u2, u3, max u2 u3, u1} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (AlgHomClass.coeTC.proof_4.{u2, u3, max u2 u3, u1} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e))) (AlgHomClass.commutes.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)))) (AlgHom.id.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) + forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{succ u3} (AlgHom.{u1, u3, u3} R A₂ A₂ _inst_1 _inst_3 _inst_3 _inst_6 _inst_6) (AlgHom.comp.{u1, u3, u2, u3} R A₂ A₁ A₂ _inst_1 _inst_3 _inst_2 _inst_3 _inst_6 _inst_5 _inst_6 (AlgHomClass.toAlgHom.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e) (AlgHomClass.toAlgHom.{u1, u3, u2, max u2 u3} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e))) (AlgHom.id.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) Case conversion may be inaccurate. Consider using '#align alg_equiv.comp_symm AlgEquiv.comp_symmₓ'. -/ @[simp] theorem comp_symm (e : A₁ ≃ₐ[R] A₂) : AlgHom.comp (e : A₁ →ₐ[R] A₂) ↑e.symm = AlgHom.id R A₂ := @@ -682,7 +682,7 @@ theorem comp_symm (e : A₁ ≃ₐ[R] A₂) : AlgHom.comp (e : A₁ →ₐ[R] A lean 3 declaration is forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.comp.{u1, u2, u3, u2} R A₁ A₂ A₁ _inst_1 _inst_2 _inst_3 _inst_2 _inst_5 _inst_6 _inst_5 ((fun (a : Sort.{max (succ u3) (succ u2)}) (b : Sort.{max (succ u3) (succ u2)}) [self : HasLiftT.{max (succ u3) (succ u2), max (succ u3) (succ u2)} a b] => self.0) (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (HasLiftT.mk.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (CoeTCₓ.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgHomClass.coeTC.{u1, u3, u2, max u3 u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u3 u2, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.algEquivClass.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5))))) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.coeTC.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.algEquivClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))))) e)) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) but is expected to have type - forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.comp.{u1, u2, u3, u2} R A₁ A₂ A₁ _inst_1 _inst_2 _inst_3 _inst_2 _inst_5 _inst_6 _inst_5 (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u3, u2} A₂ A₁ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) := RingHomClass.toRingHom.{max u2 u3, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) A₂ A₁ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5))) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e); AlgHom.mk.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (RingHom.mk.{u3, u2} A₂ A₁ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (MonoidHom.mk.{u3, u2} A₂ A₁ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (OneHom.mk.{u3, u2} A₂ A₁ (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (FunLike.coe.{succ (max u2 u3), succ u3, succ u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) A₂ (fun (a : A₂) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₂) => A₁) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, u2, max u2 u3} R A₂ A₁ (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (AlgHomClass.linearMapClass.{u1, u3, u2, max u2 u3} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)))))) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (AlgHomClass.coeTC.proof_1.{u2, u3, max u2 u3, u1} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e))) (AlgHomClass.coeTC.proof_2.{u2, u3, max u2 u3, u1} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e))) (AlgHomClass.coeTC.proof_3.{u2, u3, max u2 u3, u1} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (AlgHomClass.coeTC.proof_4.{u2, u3, max u2 u3, u1} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e))) (AlgHomClass.commutes.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e))) (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) := RingHomClass.toRingHom.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))) e; AlgHom.mk.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (RingHom.mk.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (MonoidHom.mk.{u2, u3} A₁ A₂ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (OneHom.mk.{u2, u3} A₁ A₂ (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (FunLike.coe.{succ (max u2 u3), succ u2, succ u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ (fun (a : A₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₁) => A₂) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} R A₁ A₂ (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (AlgHomClass.linearMapClass.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)))))) e) (AlgHomClass.coeTC.proof_1.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.coeTC.proof_2.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.coeTC.proof_3.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e) (AlgHomClass.coeTC.proof_4.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.commutes.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e))) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) + forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.comp.{u1, u2, u3, u2} R A₁ A₂ A₁ _inst_1 _inst_2 _inst_3 _inst_2 _inst_5 _inst_6 _inst_5 (AlgHomClass.toAlgHom.{u1, u3, u2, max u2 u3} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u3, u2} (AlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5)) (AlgEquiv.symm.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (AlgHomClass.toAlgHom.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) Case conversion may be inaccurate. Consider using '#align alg_equiv.symm_comp AlgEquiv.symm_compₓ'. -/ @[simp] theorem symm_comp (e : A₁ ≃ₐ[R] A₂) : AlgHom.comp ↑e.symm (e : A₁ →ₐ[R] A₂) = AlgHom.id R A₁ := @@ -801,7 +801,7 @@ def ofAlgHom (f : A₁ →ₐ[R] A₂) (g : A₂ →ₐ[R] A₁) (h₁ : f.comp lean 3 declaration is forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (f : AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (g : AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (h₁ : Eq.{succ u3} (AlgHom.{u1, u3, u3} R A₂ A₂ _inst_1 _inst_3 _inst_3 _inst_6 _inst_6) (AlgHom.comp.{u1, u3, u2, u3} R A₂ A₁ A₂ _inst_1 _inst_3 _inst_2 _inst_3 _inst_6 _inst_5 _inst_6 f g) (AlgHom.id.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (h₂ : Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.comp.{u1, u2, u3, u2} R A₁ A₂ A₁ _inst_1 _inst_2 _inst_3 _inst_2 _inst_5 _inst_6 _inst_5 g f) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)), Eq.{max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.coeTC.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.algEquivClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))))) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 f g h₁ h₂)) f but is expected to have type - forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (f : AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (g : AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (h₁ : Eq.{succ u3} (AlgHom.{u1, u3, u3} R A₂ A₂ _inst_1 _inst_3 _inst_3 _inst_6 _inst_6) (AlgHom.comp.{u1, u3, u2, u3} R A₂ A₁ A₂ _inst_1 _inst_3 _inst_2 _inst_3 _inst_6 _inst_5 _inst_6 f g) (AlgHom.id.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (h₂ : Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.comp.{u1, u2, u3, u2} R A₁ A₂ A₁ _inst_1 _inst_2 _inst_3 _inst_2 _inst_5 _inst_6 _inst_5 g f) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)), Eq.{max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) := RingHomClass.toRingHom.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 f g h₁ h₂); AlgHom.mk.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (RingHom.mk.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (MonoidHom.mk.{u2, u3} A₁ A₂ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (OneHom.mk.{u2, u3} A₁ A₂ (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (FunLike.coe.{succ (max u2 u3), succ u2, succ u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ (fun (a : A₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₁) => A₂) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} R A₁ A₂ (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (AlgHomClass.linearMapClass.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)))))) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 f g h₁ h₂)) (AlgHomClass.coeTC.proof_1.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 f g h₁ h₂))) (AlgHomClass.coeTC.proof_2.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 f g h₁ h₂))) (AlgHomClass.coeTC.proof_3.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 f g h₁ h₂)) (AlgHomClass.coeTC.proof_4.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 f g h₁ h₂))) (AlgHomClass.commutes.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 f g h₁ h₂))) f + forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (f : AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (g : AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (h₁ : Eq.{succ u3} (AlgHom.{u1, u3, u3} R A₂ A₂ _inst_1 _inst_3 _inst_3 _inst_6 _inst_6) (AlgHom.comp.{u1, u3, u2, u3} R A₂ A₁ A₂ _inst_1 _inst_3 _inst_2 _inst_3 _inst_6 _inst_5 _inst_6 f g) (AlgHom.id.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (h₂ : Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.comp.{u1, u2, u3, u2} R A₁ A₂ A₁ _inst_1 _inst_2 _inst_3 _inst_2 _inst_5 _inst_6 _inst_5 g f) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)), Eq.{max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.toAlgHom.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 f g h₁ h₂)) f Case conversion may be inaccurate. Consider using '#align alg_equiv.coe_alg_hom_of_alg_hom AlgEquiv.coe_algHom_ofAlgHomₓ'. -/ theorem coe_algHom_ofAlgHom (f : A₁ →ₐ[R] A₂) (g : A₂ →ₐ[R] A₁) (h₁ h₂) : ↑(ofAlgHom f g h₁ h₂) = f := @@ -812,7 +812,7 @@ theorem coe_algHom_ofAlgHom (f : A₁ →ₐ[R] A₂) (g : A₂ →ₐ[R] A₁) lean 3 declaration is forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (f : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (g : AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (h₁ : Eq.{succ u3} (AlgHom.{u1, u3, u3} R A₂ A₂ _inst_1 _inst_3 _inst_3 _inst_6 _inst_6) (AlgHom.comp.{u1, u3, u2, u3} R A₂ A₁ A₂ _inst_1 _inst_3 _inst_2 _inst_3 _inst_6 _inst_5 _inst_6 ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.coeTC.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.algEquivClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))))) f) g) (AlgHom.id.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (h₂ : Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.comp.{u1, u2, u3, u2} R A₁ A₂ A₁ _inst_1 _inst_2 _inst_3 _inst_2 _inst_5 _inst_6 _inst_5 g ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.coeTC.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.algEquivClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))))) f)) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)), Eq.{max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.coeTC.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.algEquivClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))))) f) g h₁ h₂) f but is expected to have type - forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (f : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (g : AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (h₁ : Eq.{succ u3} (AlgHom.{u1, u3, u3} R A₂ A₂ _inst_1 _inst_3 _inst_3 _inst_6 _inst_6) (AlgHom.comp.{u1, u3, u2, u3} R A₂ A₁ A₂ _inst_1 _inst_3 _inst_2 _inst_3 _inst_6 _inst_5 _inst_6 (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) := RingHomClass.toRingHom.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))) f; AlgHom.mk.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (RingHom.mk.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (MonoidHom.mk.{u2, u3} A₁ A₂ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (OneHom.mk.{u2, u3} A₁ A₂ (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (FunLike.coe.{succ (max u2 u3), succ u2, succ u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ (fun (a : A₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₁) => A₂) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} R A₁ A₂ (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (AlgHomClass.linearMapClass.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)))))) f) (AlgHomClass.coeTC.proof_1.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) (AlgHomClass.coeTC.proof_2.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) (AlgHomClass.coeTC.proof_3.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f) (AlgHomClass.coeTC.proof_4.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) (AlgHomClass.commutes.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) g) (AlgHom.id.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (h₂ : Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.comp.{u1, u2, u3, u2} R A₁ A₂ A₁ _inst_1 _inst_2 _inst_3 _inst_2 _inst_5 _inst_6 _inst_5 g (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) := RingHomClass.toRingHom.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))) f; AlgHom.mk.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (RingHom.mk.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (MonoidHom.mk.{u2, u3} A₁ A₂ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (OneHom.mk.{u2, u3} A₁ A₂ (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (FunLike.coe.{succ (max u2 u3), succ u2, succ u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ (fun (a : A₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₁) => A₂) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} R A₁ A₂ (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (AlgHomClass.linearMapClass.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)))))) f) (AlgHomClass.coeTC.proof_1.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) (AlgHomClass.coeTC.proof_2.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) (AlgHomClass.coeTC.proof_3.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f) (AlgHomClass.coeTC.proof_4.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) (AlgHomClass.commutes.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f))) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)), Eq.{max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) := RingHomClass.toRingHom.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))) f; AlgHom.mk.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (RingHom.mk.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (MonoidHom.mk.{u2, u3} A₁ A₂ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (OneHom.mk.{u2, u3} A₁ A₂ (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (FunLike.coe.{succ (max u2 u3), succ u2, succ u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ (fun (a : A₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₁) => A₂) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} R A₁ A₂ (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (AlgHomClass.linearMapClass.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)))))) f) (AlgHomClass.coeTC.proof_1.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) (AlgHomClass.coeTC.proof_2.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) (AlgHomClass.coeTC.proof_3.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f) (AlgHomClass.coeTC.proof_4.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) (AlgHomClass.commutes.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) g h₁ h₂) f + forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (f : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (g : AlgHom.{u1, u3, u2} R A₂ A₁ _inst_1 _inst_3 _inst_2 _inst_6 _inst_5) (h₁ : Eq.{succ u3} (AlgHom.{u1, u3, u3} R A₂ A₂ _inst_1 _inst_3 _inst_3 _inst_6 _inst_6) (AlgHom.comp.{u1, u3, u2, u3} R A₂ A₁ A₂ _inst_1 _inst_3 _inst_2 _inst_3 _inst_6 _inst_5 _inst_6 (AlgHomClass.toAlgHom.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f) g) (AlgHom.id.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (h₂ : Eq.{succ u2} (AlgHom.{u1, u2, u2} R A₁ A₁ _inst_1 _inst_2 _inst_2 _inst_5 _inst_5) (AlgHom.comp.{u1, u2, u3, u2} R A₁ A₂ A₁ _inst_1 _inst_2 _inst_3 _inst_2 _inst_5 _inst_6 _inst_5 g (AlgHomClass.toAlgHom.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f)) (AlgHom.id.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)), Eq.{max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquiv.ofAlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgHomClass.toAlgHom.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) f) g h₁ h₂) f Case conversion may be inaccurate. Consider using '#align alg_equiv.of_alg_hom_coe_alg_hom AlgEquiv.ofAlgHom_coe_algHomₓ'. -/ @[simp] theorem ofAlgHom_coe_algHom (f : A₁ ≃ₐ[R] A₂) (g : A₂ →ₐ[R] A₁) (h₁ h₂) : @@ -899,7 +899,7 @@ def toLinearMap : A₁ →ₗ[R] A₂ := lean 3 declaration is forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A₁ A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (AlgHom.toLinearMap.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHom.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgHomClass.coeTC.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.algEquivClass.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))))) e)) (AlgEquiv.toLinearMap.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e) but is expected to have type - forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A₁ A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (AlgHom.toLinearMap.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) := RingHomClass.toRingHom.{max u2 u3, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))) e; AlgHom.mk.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (RingHom.mk.{u2, u3} A₁ A₂ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2) (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3) (MonoidHom.mk.{u2, u3} A₁ A₂ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (OneHom.mk.{u2, u3} A₁ A₂ (MulOneClass.toOne.{u2} A₁ (MulZeroOneClass.toMulOneClass.{u2} A₁ (NonAssocSemiring.toMulZeroOneClass.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (MulOneClass.toOne.{u3} A₂ (MulZeroOneClass.toMulOneClass.{u3} A₂ (NonAssocSemiring.toMulZeroOneClass.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (FunLike.coe.{succ (max u2 u3), succ u2, succ u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A₁ (fun (a : A₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A₁) => A₂) a) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (SMulZeroClass.toSMul.{u1, u2} R A₁ (AddMonoid.toZero.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} R A₁ (AddMonoid.toAddZeroClass.{u2} A₁ (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5))))) (SMulZeroClass.toSMul.{u1, u3} R A₂ (AddMonoid.toZero.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribSMul.toSMulZeroClass.{u1, u3} R A₂ (AddMonoid.toAddZeroClass.{u3} A₂ (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3)))) (Module.toDistribMulAction.{u1, u2} R A₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5)) (Module.toDistribMulAction.{u1, u3} R A₂ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} R A₁ A₂ (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6) (AlgHomClass.linearMapClass.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)))))) e) (AlgHomClass.coeTC.proof_1.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.coeTC.proof_2.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.coeTC.proof_3.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e) (AlgHomClass.coeTC.proof_4.{u3, u2, max u2 u3, u1} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgHomClass.commutes.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e))) (AlgEquiv.toLinearMap.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e) + forall {R : Type.{u1}} {A₁ : Type.{u2}} {A₂ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A₁] [_inst_3 : Semiring.{u3} A₂] [_inst_5 : Algebra.{u1, u2} R A₁ _inst_1 _inst_2] [_inst_6 : Algebra.{u1, u3} R A₂ _inst_1 _inst_3] (e : AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A₁ A₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A₁ (Semiring.toNonAssocSemiring.{u2} A₁ _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A₂ (Semiring.toNonAssocSemiring.{u3} A₂ _inst_3))) (Algebra.toModule.{u1, u2} R A₁ _inst_1 _inst_2 _inst_5) (Algebra.toModule.{u1, u3} R A₂ _inst_1 _inst_3 _inst_6)) (AlgHom.toLinearMap.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgHomClass.toAlgHom.{u1, u2, u3, max u2 u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (AlgEquivClass.toAlgHomClass.{max u2 u3, u1, u2, u3} (AlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6)) e)) (AlgEquiv.toLinearMap.{u1, u2, u3} R A₁ A₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e) Case conversion may be inaccurate. Consider using '#align alg_equiv.to_alg_hom_to_linear_map AlgEquiv.to_algHom_toLinearMapₓ'. -/ @[simp] theorem to_algHom_toLinearMap : (e : A₁ →ₐ[R] A₂).toLinearMap = e.toLinearMap := diff --git a/Mathbin/Algebra/Algebra/Hom.lean b/Mathbin/Algebra/Algebra/Hom.lean index 4ce17d2ac3..07b0e51334 100644 --- a/Mathbin/Algebra/Algebra/Hom.lean +++ b/Mathbin/Algebra/Algebra/Hom.lean @@ -104,7 +104,7 @@ initialize_simps_projections AlgHom (toFun → apply) lean 3 declaration is forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_7 : Algebra.{u1, u3} R B _inst_1 _inst_3] {F : Type.{u4}} [_inst_10 : AlgHomClass.{u4, u1, u2, u3} F R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7] (f : F), Eq.{max (succ u2) (succ u3)} (A -> B) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : AlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) => A -> B) ([anonymous].{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) ((fun (a : Type.{u4}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{succ u4, max (succ u2) (succ u3)} a b] => self.0) F (AlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) (HasLiftT.mk.{succ u4, max (succ u2) (succ u3)} F (AlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) (CoeTCₓ.coe.{succ u4, max (succ u2) (succ u3)} F (AlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) (AlgHomClass.coeTC.{u1, u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 F _inst_10))) f)) (coeFn.{succ u4, max (succ u2) (succ u3)} F (fun (_x : F) => A -> B) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u3} F A (fun (_x : A) => B) (SMulHomClass.toFunLike.{u4, u1, u2, u3} F R A B (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} R A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_6))))) (SMulZeroClass.toHasSmul.{u1, u3} R B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_3)))))) (DistribSMul.toSmulZeroClass.{u1, u3} R B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_3))))) (DistribMulAction.toDistribSMul.{u1, u3} R B (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_3)))) (Module.toDistribMulAction.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_3))) (Algebra.toModule.{u1, u3} R B _inst_1 _inst_3 _inst_7))))) (DistribMulActionHomClass.toSmulHomClass.{u4, u1, u2, u3} F R A B (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_3)))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_6)) (Module.toDistribMulAction.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_3))) (Algebra.toModule.{u1, u3} R B _inst_1 _inst_3 _inst_7)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, u4} R A B F (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_3))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_6) (Algebra.toModule.{u1, u3} R B _inst_1 _inst_3 _inst_7) (AlgHomClass.linearMapClass.{u1, u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 F _inst_10))))) f) but is expected to have type - forall {R : Type.{u2}} {A : Type.{u3}} {B : Type.{u4}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : Semiring.{u3} A] [_inst_3 : Semiring.{u4} B] [_inst_6 : Algebra.{u2, u3} R A _inst_1 _inst_2] [_inst_7 : Algebra.{u2, u4} R B _inst_1 _inst_3] {F : Type.{u1}} [_inst_10 : AlgHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7] (f : F), Eq.{max (succ u3) (succ u4)} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A) => B) ᾰ) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (AlgHom.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A) => B) _x) (SMulHomClass.toFunLike.{max u3 u4, u2, u3, u4} (AlgHom.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) R A B (SMulZeroClass.toSMul.{u2, u3} R A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))))) (DistribSMul.toSMulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))))) (DistribMulAction.toDistribSMul.{u2, u3} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2)))) (Module.toDistribMulAction.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6))))) (SMulZeroClass.toSMul.{u2, u4} R B (AddMonoid.toZero.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))))) (DistribSMul.toSMulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))))) (DistribMulAction.toDistribSMul.{u2, u4} R B (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3)))) (Module.toDistribMulAction.{u2, u4} R B (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u4, u2, u3, u4} (AlgHom.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) R A B (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2)))) (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3)))) (Module.toDistribMulAction.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6)) (Module.toDistribMulAction.{u2, u4} R B (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7)) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, u4, max u3 u4} R A B (AlgHom.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7) (AlgHomClass.linearMapClass.{u2, u3, u4, max u3 u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 (AlgHom.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) (AlgHom.algHomClass.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7))))) (let src._@.Mathlib.Algebra.Algebra.Hom._hyg.1134 : RingHom.{u3, u4} A B (Semiring.toNonAssocSemiring.{u3} A _inst_2) (Semiring.toNonAssocSemiring.{u4} B _inst_3) := RingHomClass.toRingHom.{u1, u3, u4} F A B (Semiring.toNonAssocSemiring.{u3} A _inst_2) (Semiring.toNonAssocSemiring.{u4} B _inst_3) (AlgHomClass.toRingHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 _inst_10) f; AlgHom.mk.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.mk.{u3, u4} A B (Semiring.toNonAssocSemiring.{u3} A _inst_2) (Semiring.toNonAssocSemiring.{u4} B _inst_3) (MonoidHom.mk.{u3, u4} A B (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (MulZeroOneClass.toMulOneClass.{u4} B (NonAssocSemiring.toMulZeroOneClass.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (OneHom.mk.{u3, u4} A B (MulOneClass.toOne.{u3} A (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2)))) (MulOneClass.toOne.{u4} B (MulZeroOneClass.toMulOneClass.{u4} B (NonAssocSemiring.toMulZeroOneClass.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3)))) (FunLike.coe.{succ u1, succ u3, succ u4} F A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A) => B) a) (SMulHomClass.toFunLike.{u1, u2, u3, u4} F R A B (SMulZeroClass.toSMul.{u2, u3} R A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))))) (DistribSMul.toSMulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))))) (DistribMulAction.toDistribSMul.{u2, u3} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2)))) (Module.toDistribMulAction.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6))))) (SMulZeroClass.toSMul.{u2, u4} R B (AddMonoid.toZero.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))))) (DistribSMul.toSMulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))))) (DistribMulAction.toDistribSMul.{u2, u4} R B (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3)))) (Module.toDistribMulAction.{u2, u4} R B (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u3, u4} F R A B (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2)))) (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3)))) (Module.toDistribMulAction.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6)) (Module.toDistribMulAction.{u2, u4} R B (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7)) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, u4, u1} R A B F (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7) (AlgHomClass.linearMapClass.{u2, u3, u4, u1} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 F _inst_10)))) f) (AlgHomClass.coeTC.proof_1.{u4, u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 F _inst_10 f)) (AlgHomClass.coeTC.proof_2.{u4, u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 F _inst_10 f)) (AlgHomClass.coeTC.proof_3.{u4, u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 F _inst_10 f) (AlgHomClass.coeTC.proof_4.{u4, u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 F _inst_10 f)) (AlgHomClass.commutes.{u1, u2, u3, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 _inst_10 f))) (FunLike.coe.{succ u1, succ u3, succ u4} F A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A) => B) _x) (SMulHomClass.toFunLike.{u1, u2, u3, u4} F R A B (SMulZeroClass.toSMul.{u2, u3} R A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))))) (DistribSMul.toSMulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))))) (DistribMulAction.toDistribSMul.{u2, u3} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2)))) (Module.toDistribMulAction.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6))))) (SMulZeroClass.toSMul.{u2, u4} R B (AddMonoid.toZero.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))))) (DistribSMul.toSMulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))))) (DistribMulAction.toDistribSMul.{u2, u4} R B (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3)))) (Module.toDistribMulAction.{u2, u4} R B (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u3, u4} F R A B (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2)))) (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3)))) (Module.toDistribMulAction.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6)) (Module.toDistribMulAction.{u2, u4} R B (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7)) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, u4, u1} R A B F (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7) (AlgHomClass.linearMapClass.{u2, u3, u4, u1} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 F _inst_10)))) f) + forall {R : Type.{u2}} {A : Type.{u3}} {B : Type.{u4}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : Semiring.{u3} A] [_inst_3 : Semiring.{u4} B] [_inst_6 : Algebra.{u2, u3} R A _inst_1 _inst_2] [_inst_7 : Algebra.{u2, u4} R B _inst_1 _inst_3] {F : Type.{u1}} [_inst_10 : AlgHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7] (f : F), Eq.{max (succ u3) (succ u4)} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A) => B) ᾰ) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (AlgHom.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A) => B) _x) (SMulHomClass.toFunLike.{max u3 u4, u2, u3, u4} (AlgHom.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) R A B (SMulZeroClass.toSMul.{u2, u3} R A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))))) (DistribSMul.toSMulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))))) (DistribMulAction.toDistribSMul.{u2, u3} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2)))) (Module.toDistribMulAction.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6))))) (SMulZeroClass.toSMul.{u2, u4} R B (AddMonoid.toZero.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))))) (DistribSMul.toSMulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))))) (DistribMulAction.toDistribSMul.{u2, u4} R B (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3)))) (Module.toDistribMulAction.{u2, u4} R B (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u4, u2, u3, u4} (AlgHom.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) R A B (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2)))) (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3)))) (Module.toDistribMulAction.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6)) (Module.toDistribMulAction.{u2, u4} R B (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7)) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, u4, max u3 u4} R A B (AlgHom.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7) (AlgHomClass.linearMapClass.{u2, u3, u4, max u3 u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 (AlgHom.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7) (AlgHom.algHomClass.{u2, u3, u4} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7))))) (AlgHomClass.toAlgHom.{u2, u3, u4, u1} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 F _inst_10 f)) (FunLike.coe.{succ u1, succ u3, succ u4} F A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A) => B) _x) (SMulHomClass.toFunLike.{u1, u2, u3, u4} F R A B (SMulZeroClass.toSMul.{u2, u3} R A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))))) (DistribSMul.toSMulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))))) (DistribMulAction.toDistribSMul.{u2, u3} R A (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2)))) (Module.toDistribMulAction.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6))))) (SMulZeroClass.toSMul.{u2, u4} R B (AddMonoid.toZero.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))))) (DistribSMul.toSMulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))))) (DistribMulAction.toDistribSMul.{u2, u4} R B (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3)))) (Module.toDistribMulAction.{u2, u4} R B (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u3, u4} F R A B (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2)))) (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3)))) (Module.toDistribMulAction.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6)) (Module.toDistribMulAction.{u2, u4} R B (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7)) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, u4, u1} R A B F (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} B (Semiring.toNonAssocSemiring.{u4} B _inst_3))) (Algebra.toModule.{u2, u3} R A _inst_1 _inst_2 _inst_6) (Algebra.toModule.{u2, u4} R B _inst_1 _inst_3 _inst_7) (AlgHomClass.linearMapClass.{u2, u3, u4, u1} R A B _inst_1 _inst_2 _inst_3 _inst_6 _inst_7 F _inst_10)))) f) Case conversion may be inaccurate. Consider using '#align alg_hom.coe_coe AlgHom.coe_coeₓ'. -/ @[simp, protected] theorem coe_coe {F : Type _} [AlgHomClass F R A B] (f : F) : ⇑(f : A →ₐ[R] B) = f := diff --git a/Mathbin/Algebra/BigOperators/Associated.lean b/Mathbin/Algebra/BigOperators/Associated.lean index 138f3ca8b9..5973926bfd 100644 --- a/Mathbin/Algebra/BigOperators/Associated.lean +++ b/Mathbin/Algebra/BigOperators/Associated.lean @@ -258,7 +258,7 @@ theorem Prime.dvd_finset_prod_iff {S : Finset α} {p : M} (pp : Prime p) (g : α /- warning: prime.dvd_finsupp_prod_iff -> Prime.dvd_finsupp_prod_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommMonoidWithZero.{u2} M] {f : Finsupp.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1))))} {g : α -> M -> Nat} {p : Nat}, (Prime.{0} Nat (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) p) -> (Iff (Dvd.Dvd.{0} Nat Nat.hasDvd p (Finsupp.prod.{u1, u2, 0} α M Nat (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1)))) Nat.commMonoid f g)) (Exists.{succ u1} α (fun (a : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1)))) f)) (fun (H : Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1)))) f)) => Dvd.Dvd.{0} Nat Nat.hasDvd p (g a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1))))) (fun (_x : Finsupp.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1))))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1))))) f a)))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommMonoidWithZero.{u2} M] {f : Finsupp.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1))))} {g : α -> M -> Nat} {p : Nat}, (Prime.{0} Nat (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) p) -> (Iff (Dvd.Dvd.{0} Nat Nat.hasDvd p (Finsupp.prod.{u1, u2, 0} α M Nat (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1)))) Nat.commMonoid f g)) (Exists.{succ u1} α (fun (a : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1)))) f)) (fun (H : Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1)))) f)) => Dvd.Dvd.{0} Nat Nat.hasDvd p (g a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1))))) (fun (_x : Finsupp.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1))))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (MulZeroClass.toHasZero.{u2} M (MulZeroOneClass.toMulZeroClass.{u2} M (MonoidWithZero.toMulZeroOneClass.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M _inst_1))))) f a)))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommMonoidWithZero.{u1} M] {f : Finsupp.{u2, u1} α M (CommMonoidWithZero.toZero.{u1} M _inst_1)} {g : α -> M -> Nat} {p : Nat}, (Prime.{0} Nat (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) p) -> (Iff (Dvd.dvd.{0} Nat Nat.instDvdNat p (Finsupp.prod.{u2, u1, 0} α M Nat (CommMonoidWithZero.toZero.{u1} M _inst_1) Nat.commMonoid f g)) (Exists.{succ u2} α (fun (a : α) => And (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a (Finsupp.support.{u2, u1} α M (CommMonoidWithZero.toZero.{u1} M _inst_1) f)) (Dvd.dvd.{0} Nat Nat.instDvdNat p (g a (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M (CommMonoidWithZero.toZero.{u1} M _inst_1)) α (fun (a : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (Finsupp.funLike.{u2, u1} α M (CommMonoidWithZero.toZero.{u1} M _inst_1)) f a)))))) Case conversion may be inaccurate. Consider using '#align prime.dvd_finsupp_prod_iff Prime.dvd_finsupp_prod_iffₓ'. -/ diff --git a/Mathbin/Algebra/BigOperators/Finsupp.lean b/Mathbin/Algebra/BigOperators/Finsupp.lean index b9892116b5..4d59cd1146 100644 --- a/Mathbin/Algebra/BigOperators/Finsupp.lean +++ b/Mathbin/Algebra/BigOperators/Finsupp.lean @@ -64,7 +64,7 @@ variable [Zero M] [Zero M'] [CommMonoid N] /- warning: finsupp.prod_of_support_subset -> Finsupp.prod_of_support_subset is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] (f : Finsupp.{u1, u2} α M _inst_4) {s : Finset.{u1} α}, (HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_4 f) s) -> (forall (g : α -> M -> N), (forall (i : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) i s) -> (Eq.{succ u3} N (g i (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_4)))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))))))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g) (Finset.prod.{u3, u1} N α _inst_6 s (fun (x : α) => g x (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_4) f x))))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] (f : Finsupp.{u1, u2} α M _inst_4) {s : Finset.{u1} α}, (HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_4 f) s) -> (forall (g : α -> M -> N), (forall (i : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) i s) -> (Eq.{succ u3} N (g i (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_4)))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))))))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g) (Finset.prod.{u3, u1} N α _inst_6 s (fun (x : α) => g x (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_4) f x))))) but is expected to have type forall {α : Type.{u3}} {M : Type.{u2}} {N : Type.{u1}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u1} N] (f : Finsupp.{u3, u2} α M _inst_4) {s : Finset.{u3} α}, (HasSubset.Subset.{u3} (Finset.{u3} α) (Finset.instHasSubsetFinset.{u3} α) (Finsupp.support.{u3, u2} α M _inst_4 f) s) -> (forall (g : α -> M -> N), (forall (i : α), (Membership.mem.{u3, u3} α (Finset.{u3} α) (Finset.instMembershipFinset.{u3} α) i s) -> (Eq.{succ u1} N (g i (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M _inst_4))) (OfNat.ofNat.{u1} N 1 (One.toOfNat1.{u1} N (Monoid.toOne.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6)))))) -> (Eq.{succ u1} N (Finsupp.prod.{u3, u2, u1} α M N _inst_4 _inst_6 f g) (Finset.prod.{u1, u3} N α _inst_6 s (fun (x : α) => g x (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M _inst_4) f x))))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_of_support_subset Finsupp.prod_of_support_subsetₓ'. -/ @@ -77,7 +77,7 @@ theorem prod_of_support_subset (f : α →₀ M) {s : Finset α} (hs : f.support /- warning: finsupp.prod_fintype -> Finsupp.prod_fintype is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] [_inst_7 : Fintype.{u1} α] (f : Finsupp.{u1, u2} α M _inst_4) (g : α -> M -> N), (forall (i : α), Eq.{succ u3} N (g i (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_4)))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6))))))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g) (Finset.prod.{u3, u1} N α _inst_6 (Finset.univ.{u1} α _inst_7) (fun (i : α) => g i (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_4) f i)))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] [_inst_7 : Fintype.{u1} α] (f : Finsupp.{u1, u2} α M _inst_4) (g : α -> M -> N), (forall (i : α), Eq.{succ u3} N (g i (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_4)))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6))))))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g) (Finset.prod.{u3, u1} N α _inst_6 (Finset.univ.{u1} α _inst_7) (fun (i : α) => g i (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_4) f i)))) but is expected to have type forall {α : Type.{u3}} {M : Type.{u2}} {N : Type.{u1}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u1} N] [_inst_7 : Fintype.{u3} α] (f : Finsupp.{u3, u2} α M _inst_4) (g : α -> M -> N), (forall (i : α), Eq.{succ u1} N (g i (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M _inst_4))) (OfNat.ofNat.{u1} N 1 (One.toOfNat1.{u1} N (Monoid.toOne.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6))))) -> (Eq.{succ u1} N (Finsupp.prod.{u3, u2, u1} α M N _inst_4 _inst_6 f g) (Finset.prod.{u1, u3} N α _inst_6 (Finset.univ.{u3} α _inst_7) (fun (i : α) => g i (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M _inst_4) f i)))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_fintype Finsupp.prod_fintypeₓ'. -/ @@ -121,7 +121,7 @@ theorem prod_mapRange_index {f : M → M'} {hf : f 0 = 0} {g : α →₀ M} {h : /- warning: finsupp.prod_zero_index -> Finsupp.prod_zero_index is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] {h : α -> M -> N}, Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_4) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_4) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_4) (Finsupp.hasZero.{u1, u2} α M _inst_4)))) h) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] {h : α -> M -> N}, Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_4) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_4) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_4) (Finsupp.zero.{u1, u2} α M _inst_4)))) h) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} {N : Type.{u3}} [_inst_4 : Zero.{u1} M] [_inst_6 : CommMonoid.{u3} N] {h : α -> M -> N}, Eq.{succ u3} N (Finsupp.prod.{u2, u1, u3} α M N _inst_4 _inst_6 (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_4) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_4) (Finsupp.zero.{u2, u1} α M _inst_4))) h) (OfNat.ofNat.{u3} N 1 (One.toOfNat1.{u3} N (Monoid.toOne.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_zero_index Finsupp.prod_zero_indexₓ'. -/ @@ -147,7 +147,7 @@ theorem prod_comm (f : α →₀ M) (g : β →₀ M') (h : α → M → β → /- warning: finsupp.prod_ite_eq -> Finsupp.prod_ite_eq is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] [_inst_7 : DecidableEq.{succ u1} α] (f : Finsupp.{u1, u2} α M _inst_4) (a : α) (b : α -> M -> N), Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f (fun (x : α) (v : M) => ite.{succ u3} N (Eq.{succ u1} α a x) (_inst_7 a x) (b x v) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))))))) (ite.{succ u3} N (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M _inst_4 f)) (Finset.decidableMem.{u1} α (fun (a : α) (b : α) => _inst_7 a b) a (Finsupp.support.{u1, u2} α M _inst_4 f)) (b a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_4) f a)) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6))))))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] [_inst_7 : DecidableEq.{succ u1} α] (f : Finsupp.{u1, u2} α M _inst_4) (a : α) (b : α -> M -> N), Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f (fun (x : α) (v : M) => ite.{succ u3} N (Eq.{succ u1} α a x) (_inst_7 a x) (b x v) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))))))) (ite.{succ u3} N (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M _inst_4 f)) (Finset.decidableMem.{u1} α (fun (a : α) (b : α) => _inst_7 a b) a (Finsupp.support.{u1, u2} α M _inst_4 f)) (b a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_4) f a)) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6))))))) but is expected to have type forall {α : Type.{u3}} {M : Type.{u2}} {N : Type.{u1}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u1} N] [_inst_7 : DecidableEq.{succ u3} α] (f : Finsupp.{u3, u2} α M _inst_4) (a : α) (b : α -> M -> N), Eq.{succ u1} N (Finsupp.prod.{u3, u2, u1} α M N _inst_4 _inst_6 f (fun (x : α) (v : M) => ite.{succ u1} N (Eq.{succ u3} α a x) (_inst_7 a x) (b x v) (OfNat.ofNat.{u1} N 1 (One.toOfNat1.{u1} N (Monoid.toOne.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6)))))) (ite.{succ u1} N (Membership.mem.{u3, u3} α (Finset.{u3} α) (Finset.instMembershipFinset.{u3} α) a (Finsupp.support.{u3, u2} α M _inst_4 f)) (Finset.decidableMem.{u3} α (fun (a : α) (b : α) => _inst_7 a b) a (Finsupp.support.{u3, u2} α M _inst_4 f)) (b a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M _inst_4) f a)) (OfNat.ofNat.{u1} N 1 (One.toOfNat1.{u1} N (Monoid.toOne.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6))))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_ite_eq Finsupp.prod_ite_eqₓ'. -/ @@ -162,7 +162,7 @@ theorem prod_ite_eq [DecidableEq α] (f : α →₀ M) (a : α) (b : α → M /- warning: finsupp.sum_ite_self_eq -> Finsupp.sum_ite_self_eq is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} [_inst_7 : DecidableEq.{succ u1} α] {N : Type.{u2}} [_inst_8 : AddCommMonoid.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) (a : α), Eq.{succ u2} N (Finsupp.sum.{u1, u2, u2} α N N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8))) _inst_8 f (fun (x : α) (v : N) => ite.{succ u2} N (Eq.{succ u1} α a x) (_inst_7 a x) v (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) (fun (_x : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) f a) + forall {α : Type.{u1}} [_inst_7 : DecidableEq.{succ u1} α] {N : Type.{u2}} [_inst_8 : AddCommMonoid.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) (a : α), Eq.{succ u2} N (Finsupp.sum.{u1, u2, u2} α N N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8))) _inst_8 f (fun (x : α) (v : N) => ite.{succ u2} N (Eq.{succ u1} α a x) (_inst_7 a x) v (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) (fun (_x : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) => α -> N) (Finsupp.coeFun.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) f a) but is expected to have type forall {α : Type.{u2}} [_inst_7 : DecidableEq.{succ u2} α] {N : Type.{u1}} [_inst_8 : AddCommMonoid.{u1} N] (f : Finsupp.{u2, u1} α N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_8))) (a : α), Eq.{succ u1} N (Finsupp.sum.{u2, u1, u1} α N N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_8)) _inst_8 f (fun (x : α) (v : N) => ite.{succ u1} N (Eq.{succ u2} α a x) (_inst_7 a x) v (OfNat.ofNat.{u1} N 0 (Zero.toOfNat0.{u1} N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_8)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_8))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_8))) f a) Case conversion may be inaccurate. Consider using '#align finsupp.sum_ite_self_eq Finsupp.sum_ite_self_eqₓ'. -/ @@ -176,7 +176,7 @@ theorem sum_ite_self_eq [DecidableEq α] {N : Type _} [AddCommMonoid N] (f : α /- warning: finsupp.prod_ite_eq' -> Finsupp.prod_ite_eq' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] [_inst_7 : DecidableEq.{succ u1} α] (f : Finsupp.{u1, u2} α M _inst_4) (a : α) (b : α -> M -> N), Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f (fun (x : α) (v : M) => ite.{succ u3} N (Eq.{succ u1} α x a) (_inst_7 x a) (b x v) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))))))) (ite.{succ u3} N (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M _inst_4 f)) (Finset.decidableMem.{u1} α (fun (a : α) (b : α) => _inst_7 a b) a (Finsupp.support.{u1, u2} α M _inst_4 f)) (b a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_4) f a)) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6))))))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] [_inst_7 : DecidableEq.{succ u1} α] (f : Finsupp.{u1, u2} α M _inst_4) (a : α) (b : α -> M -> N), Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f (fun (x : α) (v : M) => ite.{succ u3} N (Eq.{succ u1} α x a) (_inst_7 x a) (b x v) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))))))) (ite.{succ u3} N (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M _inst_4 f)) (Finset.decidableMem.{u1} α (fun (a : α) (b : α) => _inst_7 a b) a (Finsupp.support.{u1, u2} α M _inst_4 f)) (b a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_4) f a)) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6))))))) but is expected to have type forall {α : Type.{u3}} {M : Type.{u2}} {N : Type.{u1}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u1} N] [_inst_7 : DecidableEq.{succ u3} α] (f : Finsupp.{u3, u2} α M _inst_4) (a : α) (b : α -> M -> N), Eq.{succ u1} N (Finsupp.prod.{u3, u2, u1} α M N _inst_4 _inst_6 f (fun (x : α) (v : M) => ite.{succ u1} N (Eq.{succ u3} α x a) (_inst_7 x a) (b x v) (OfNat.ofNat.{u1} N 1 (One.toOfNat1.{u1} N (Monoid.toOne.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6)))))) (ite.{succ u1} N (Membership.mem.{u3, u3} α (Finset.{u3} α) (Finset.instMembershipFinset.{u3} α) a (Finsupp.support.{u3, u2} α M _inst_4 f)) (Finset.decidableMem.{u3} α (fun (a : α) (b : α) => _inst_7 a b) a (Finsupp.support.{u3, u2} α M _inst_4 f)) (b a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M _inst_4) f a)) (OfNat.ofNat.{u1} N 1 (One.toOfNat1.{u1} N (Monoid.toOne.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6))))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_ite_eq' Finsupp.prod_ite_eq'ₓ'. -/ @@ -192,7 +192,7 @@ theorem prod_ite_eq' [DecidableEq α] (f : α →₀ M) (a : α) (b : α → M /- warning: finsupp.sum_ite_self_eq' -> Finsupp.sum_ite_self_eq' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} [_inst_7 : DecidableEq.{succ u1} α] {N : Type.{u2}} [_inst_8 : AddCommMonoid.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) (a : α), Eq.{succ u2} N (Finsupp.sum.{u1, u2, u2} α N N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8))) _inst_8 f (fun (x : α) (v : N) => ite.{succ u2} N (Eq.{succ u1} α x a) (_inst_7 x a) v (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) (fun (_x : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) f a) + forall {α : Type.{u1}} [_inst_7 : DecidableEq.{succ u1} α] {N : Type.{u2}} [_inst_8 : AddCommMonoid.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) (a : α), Eq.{succ u2} N (Finsupp.sum.{u1, u2, u2} α N N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8))) _inst_8 f (fun (x : α) (v : N) => ite.{succ u2} N (Eq.{succ u1} α x a) (_inst_7 x a) v (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) (fun (_x : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) => α -> N) (Finsupp.coeFun.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_8)))) f a) but is expected to have type forall {α : Type.{u2}} [_inst_7 : DecidableEq.{succ u2} α] {N : Type.{u1}} [_inst_8 : AddCommMonoid.{u1} N] (f : Finsupp.{u2, u1} α N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_8))) (a : α), Eq.{succ u1} N (Finsupp.sum.{u2, u1, u1} α N N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_8)) _inst_8 f (fun (x : α) (v : N) => ite.{succ u1} N (Eq.{succ u2} α x a) (_inst_7 x a) v (OfNat.ofNat.{u1} N 0 (Zero.toOfNat0.{u1} N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_8)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_8))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_8))) f a) Case conversion may be inaccurate. Consider using '#align finsupp.sum_ite_self_eq' Finsupp.sum_ite_self_eq'ₓ'. -/ @@ -206,7 +206,7 @@ theorem sum_ite_self_eq' [DecidableEq α] {N : Type _} [AddCommMonoid N] (f : α /- warning: finsupp.prod_pow -> Finsupp.prod_pow is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_6 : CommMonoid.{u2} N] [_inst_7 : Fintype.{u1} α] (f : Finsupp.{u1, 0} α Nat Nat.hasZero) (g : α -> N), Eq.{succ u2} N (Finsupp.prod.{u1, 0, u2} α Nat N Nat.hasZero _inst_6 f (fun (a : α) (b : Nat) => HPow.hPow.{u2, 0, u2} N Nat N (instHPow.{u2, 0} N Nat (Monoid.Pow.{u2} N (CommMonoid.toMonoid.{u2} N _inst_6))) (g a) b)) (Finset.prod.{u2, u1} N α _inst_6 (Finset.univ.{u1} α _inst_7) (fun (a : α) => HPow.hPow.{u2, 0, u2} N Nat N (instHPow.{u2, 0} N Nat (Monoid.Pow.{u2} N (CommMonoid.toMonoid.{u2} N _inst_6))) (g a) (coeFn.{succ u1, succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (fun (_x : Finsupp.{u1, 0} α Nat Nat.hasZero) => α -> Nat) (Finsupp.hasCoeToFun.{u1, 0} α Nat Nat.hasZero) f a))) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_6 : CommMonoid.{u2} N] [_inst_7 : Fintype.{u1} α] (f : Finsupp.{u1, 0} α Nat Nat.hasZero) (g : α -> N), Eq.{succ u2} N (Finsupp.prod.{u1, 0, u2} α Nat N Nat.hasZero _inst_6 f (fun (a : α) (b : Nat) => HPow.hPow.{u2, 0, u2} N Nat N (instHPow.{u2, 0} N Nat (Monoid.Pow.{u2} N (CommMonoid.toMonoid.{u2} N _inst_6))) (g a) b)) (Finset.prod.{u2, u1} N α _inst_6 (Finset.univ.{u1} α _inst_7) (fun (a : α) => HPow.hPow.{u2, 0, u2} N Nat N (instHPow.{u2, 0} N Nat (Monoid.Pow.{u2} N (CommMonoid.toMonoid.{u2} N _inst_6))) (g a) (coeFn.{succ u1, succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (fun (_x : Finsupp.{u1, 0} α Nat Nat.hasZero) => α -> Nat) (Finsupp.coeFun.{u1, 0} α Nat Nat.hasZero) f a))) but is expected to have type forall {α : Type.{u2}} {N : Type.{u1}} [_inst_6 : CommMonoid.{u1} N] [_inst_7 : Fintype.{u2} α] (f : Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (g : α -> N), Eq.{succ u1} N (Finsupp.prod.{u2, 0, u1} α Nat N (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) _inst_6 f (fun (a : α) (b : Nat) => HPow.hPow.{u1, 0, u1} N Nat N (instHPow.{u1, 0} N Nat (Monoid.Pow.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6))) (g a) b)) (Finset.prod.{u1, u2} N α _inst_6 (Finset.univ.{u2} α _inst_7) (fun (a : α) => HPow.hPow.{u1, 0, u1} N ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Nat) a) N (instHPow.{u1, 0} N ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Nat) a) (Monoid.Pow.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6))) (g a) (FunLike.coe.{succ u2, succ u2, 1} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Nat) _x) (Finsupp.funLike.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) f a))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_pow Finsupp.prod_powₓ'. -/ @@ -235,7 +235,7 @@ theorem onFinset_prod {s : Finset α} {f : α → M} {g : α → M → N} (hf : /- warning: finsupp.mul_prod_erase -> Finsupp.mul_prod_erase is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] (f : Finsupp.{u1, u2} α M _inst_4) (y : α) (g : α -> M -> N), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) y (Finsupp.support.{u1, u2} α M _inst_4 f)) -> (Eq.{succ u3} N (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))) (g y (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_4) f y)) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 (Finsupp.erase.{u1, u2} α M _inst_4 y f) g)) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g)) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] (f : Finsupp.{u1, u2} α M _inst_4) (y : α) (g : α -> M -> N), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) y (Finsupp.support.{u1, u2} α M _inst_4 f)) -> (Eq.{succ u3} N (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))) (g y (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_4) f y)) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 (Finsupp.erase.{u1, u2} α M _inst_4 y f) g)) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g)) but is expected to have type forall {α : Type.{u3}} {M : Type.{u2}} {N : Type.{u1}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u1} N] (f : Finsupp.{u3, u2} α M _inst_4) (y : α) (g : α -> M -> N), (Membership.mem.{u3, u3} α (Finset.{u3} α) (Finset.instMembershipFinset.{u3} α) y (Finsupp.support.{u3, u2} α M _inst_4 f)) -> (Eq.{succ u1} N (HMul.hMul.{u1, u1, u1} N N N (instHMul.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6)))) (g y (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M _inst_4) f y)) (Finsupp.prod.{u3, u2, u1} α M N _inst_4 _inst_6 (Finsupp.erase.{u3, u2} α M _inst_4 y f) g)) (Finsupp.prod.{u3, u2, u1} α M N _inst_4 _inst_6 f g)) Case conversion may be inaccurate. Consider using '#align finsupp.mul_prod_erase Finsupp.mul_prod_eraseₓ'. -/ @@ -255,7 +255,7 @@ theorem mul_prod_erase (f : α →₀ M) (y : α) (g : α → M → N) (hyf : y /- warning: finsupp.mul_prod_erase' -> Finsupp.mul_prod_erase' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] (f : Finsupp.{u1, u2} α M _inst_4) (y : α) (g : α -> M -> N), (forall (i : α), Eq.{succ u3} N (g i (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_4)))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6))))))) -> (Eq.{succ u3} N (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))) (g y (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_4) f y)) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 (Finsupp.erase.{u1, u2} α M _inst_4 y f) g)) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g)) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] (f : Finsupp.{u1, u2} α M _inst_4) (y : α) (g : α -> M -> N), (forall (i : α), Eq.{succ u3} N (g i (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_4)))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6))))))) -> (Eq.{succ u3} N (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))) (g y (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_4) f y)) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 (Finsupp.erase.{u1, u2} α M _inst_4 y f) g)) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g)) but is expected to have type forall {α : Type.{u3}} {M : Type.{u2}} {N : Type.{u1}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u1} N] (f : Finsupp.{u3, u2} α M _inst_4) (y : α) (g : α -> M -> N), (forall (i : α), Eq.{succ u1} N (g i (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M _inst_4))) (OfNat.ofNat.{u1} N 1 (One.toOfNat1.{u1} N (Monoid.toOne.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6))))) -> (Eq.{succ u1} N (HMul.hMul.{u1, u1, u1} N N N (instHMul.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6)))) (g y (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M _inst_4) f y)) (Finsupp.prod.{u3, u2, u1} α M N _inst_4 _inst_6 (Finsupp.erase.{u3, u2} α M _inst_4 y f) g)) (Finsupp.prod.{u3, u2, u1} α M N _inst_4 _inst_6 f g)) Case conversion may be inaccurate. Consider using '#align finsupp.mul_prod_erase' Finsupp.mul_prod_erase'ₓ'. -/ @@ -275,7 +275,7 @@ theorem mul_prod_erase' (f : α →₀ M) (y : α) (g : α → M → N) (hg : /- warning: submonoid_class.finsupp_prod_mem -> SubmonoidClass.finsupp_prod_mem is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] {S : Type.{u4}} [_inst_7 : SetLike.{u4, u3} S N] [_inst_8 : SubmonoidClass.{u4, u3} S N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)) _inst_7] (s : S) (f : Finsupp.{u1, u2} α M _inst_4) (g : α -> M -> N), (forall (c : α), (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_4) f c) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_4)))) -> (Membership.Mem.{u3, u4} N S (SetLike.hasMem.{u4, u3} S N _inst_7) (g c (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_4) f c)) s)) -> (Membership.Mem.{u3, u4} N S (SetLike.hasMem.{u4, u3} S N _inst_7) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g) s) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] {S : Type.{u4}} [_inst_7 : SetLike.{u4, u3} S N] [_inst_8 : SubmonoidClass.{u4, u3} S N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)) _inst_7] (s : S) (f : Finsupp.{u1, u2} α M _inst_4) (g : α -> M -> N), (forall (c : α), (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_4) f c) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_4)))) -> (Membership.Mem.{u3, u4} N S (SetLike.hasMem.{u4, u3} S N _inst_7) (g c (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_4) f c)) s)) -> (Membership.Mem.{u3, u4} N S (SetLike.hasMem.{u4, u3} S N _inst_7) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g) s) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} {N : Type.{u3}} [_inst_4 : Zero.{u1} M] [_inst_6 : CommMonoid.{u3} N] {S : Type.{u4}} [_inst_7 : SetLike.{u4, u3} S N] [_inst_8 : SubmonoidClass.{u4, u3} S N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)) _inst_7] (s : S) (f : Finsupp.{u2, u1} α M _inst_4) (g : α -> M -> N), (forall (c : α), (Ne.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) c) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_4) f c) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) c) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) c) _inst_4))) -> (Membership.mem.{u3, u4} N S (SetLike.instMembership.{u4, u3} S N _inst_7) (g c (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_4) f c)) s)) -> (Membership.mem.{u3, u4} N S (SetLike.instMembership.{u4, u3} S N _inst_7) (Finsupp.prod.{u2, u1, u3} α M N _inst_4 _inst_6 f g) s) Case conversion may be inaccurate. Consider using '#align submonoid_class.finsupp_prod_mem SubmonoidClass.finsupp_prod_memₓ'. -/ @@ -288,7 +288,7 @@ theorem SubmonoidClass.finsupp_prod_mem {S : Type _} [SetLike S N] [SubmonoidCla /- warning: finsupp.prod_congr -> Finsupp.prod_congr is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] {f : Finsupp.{u1, u2} α M _inst_4} {g1 : α -> M -> N} {g2 : α -> M -> N}, (forall (x : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x (Finsupp.support.{u1, u2} α M _inst_4 f)) -> (Eq.{succ u3} N (g1 x (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_4) f x)) (g2 x (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_4) f x)))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g1) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g2)) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u3} N] {f : Finsupp.{u1, u2} α M _inst_4} {g1 : α -> M -> N} {g2 : α -> M -> N}, (forall (x : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x (Finsupp.support.{u1, u2} α M _inst_4 f)) -> (Eq.{succ u3} N (g1 x (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_4) f x)) (g2 x (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_4) (fun (_x : Finsupp.{u1, u2} α M _inst_4) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_4) f x)))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g1) (Finsupp.prod.{u1, u2, u3} α M N _inst_4 _inst_6 f g2)) but is expected to have type forall {α : Type.{u3}} {M : Type.{u2}} {N : Type.{u1}} [_inst_4 : Zero.{u2} M] [_inst_6 : CommMonoid.{u1} N] {f : Finsupp.{u3, u2} α M _inst_4} {g1 : α -> M -> N} {g2 : α -> M -> N}, (forall (x : α), (Membership.mem.{u3, u3} α (Finset.{u3} α) (Finset.instMembershipFinset.{u3} α) x (Finsupp.support.{u3, u2} α M _inst_4 f)) -> (Eq.{succ u1} N (g1 x (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M _inst_4) f x)) (g2 x (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M _inst_4) f x)))) -> (Eq.{succ u1} N (Finsupp.prod.{u3, u2, u1} α M N _inst_4 _inst_6 f g1) (Finsupp.prod.{u3, u2, u1} α M N _inst_4 _inst_6 f g2)) Case conversion may be inaccurate. Consider using '#align finsupp.prod_congr Finsupp.prod_congrₓ'. -/ @@ -436,9 +436,9 @@ theorem single_sum [Zero M] [AddCommMonoid N] (s : ι →₀ M) (f : ι → M /- warning: finsupp.prod_neg_index -> Finsupp.prod_neg_index is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {G : Type.{u3}} [_inst_4 : AddGroup.{u3} G] [_inst_5 : CommMonoid.{u2} M] {g : Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4))))} {h : α -> G -> M}, (forall (a : α), Eq.{succ u2} M (h a (OfNat.ofNat.{u3} G 0 (OfNat.mk.{u3} G 0 (Zero.zero.{u3} G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4)))))))) (OfNat.ofNat.{u2} M 1 (OfNat.mk.{u2} M 1 (One.one.{u2} M (MulOneClass.toHasOne.{u2} M (Monoid.toMulOneClass.{u2} M (CommMonoid.toMonoid.{u2} M _inst_5))))))) -> (Eq.{succ u2} M (Finsupp.prod.{u1, u3, u2} α G M (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4)))) _inst_5 (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4))))) (Finsupp.hasNeg.{u1, u3} α G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4)))) g) h) (Finsupp.prod.{u1, u3, u2} α G M (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4)))) _inst_5 g (fun (a : α) (b : G) => h a (Neg.neg.{u3} G (SubNegMonoid.toHasNeg.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4)) b)))) + forall {α : Type.{u1}} {M : Type.{u2}} {G : Type.{u3}} [_inst_4 : AddGroup.{u3} G] [_inst_5 : CommMonoid.{u2} M] {g : Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4))))} {h : α -> G -> M}, (forall (a : α), Eq.{succ u2} M (h a (OfNat.ofNat.{u3} G 0 (OfNat.mk.{u3} G 0 (Zero.zero.{u3} G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4)))))))) (OfNat.ofNat.{u2} M 1 (OfNat.mk.{u2} M 1 (One.one.{u2} M (MulOneClass.toHasOne.{u2} M (Monoid.toMulOneClass.{u2} M (CommMonoid.toMonoid.{u2} M _inst_5))))))) -> (Eq.{succ u2} M (Finsupp.prod.{u1, u3, u2} α G M (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4)))) _inst_5 (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4))))) (Finsupp.neg.{u1, u3} α G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4)))) g) h) (Finsupp.prod.{u1, u3, u2} α G M (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4)))) _inst_5 g (fun (a : α) (b : G) => h a (Neg.neg.{u3} G (SubNegMonoid.toHasNeg.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_4)) b)))) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u2}} {G : Type.{u3}} [_inst_4 : AddGroup.{u3} G] [_inst_5 : CommMonoid.{u2} M] {g : Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4))))} {h : α -> G -> M}, (forall (a : α), Eq.{succ u2} M (h a (OfNat.ofNat.{u3} G 0 (Zero.toOfNat0.{u3} G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4))))))) (OfNat.ofNat.{u2} M 1 (One.toOfNat1.{u2} M (Monoid.toOne.{u2} M (CommMonoid.toMonoid.{u2} M _inst_5))))) -> (Eq.{succ u2} M (Finsupp.prod.{u1, u3, u2} α G M (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4)))) _inst_5 (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4))))) (Finsupp.instNegFinsuppToZero.{u1, u3} α G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4)))) g) h) (Finsupp.prod.{u1, u3, u2} α G M (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4)))) _inst_5 g (fun (a : α) (b : G) => h a (Neg.neg.{u3} G (NegZeroClass.toNeg.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4)))) b)))) + forall {α : Type.{u1}} {M : Type.{u2}} {G : Type.{u3}} [_inst_4 : AddGroup.{u3} G] [_inst_5 : CommMonoid.{u2} M] {g : Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4))))} {h : α -> G -> M}, (forall (a : α), Eq.{succ u2} M (h a (OfNat.ofNat.{u3} G 0 (Zero.toOfNat0.{u3} G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4))))))) (OfNat.ofNat.{u2} M 1 (One.toOfNat1.{u2} M (Monoid.toOne.{u2} M (CommMonoid.toMonoid.{u2} M _inst_5))))) -> (Eq.{succ u2} M (Finsupp.prod.{u1, u3, u2} α G M (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4)))) _inst_5 (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4))))) (Finsupp.neg.{u1, u3} α G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4)))) g) h) (Finsupp.prod.{u1, u3, u2} α G M (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4)))) _inst_5 g (fun (a : α) (b : G) => h a (Neg.neg.{u3} G (NegZeroClass.toNeg.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_4)))) b)))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_neg_index Finsupp.prod_neg_indexₓ'. -/ @[to_additive] theorem prod_neg_index [AddGroup G] [CommMonoid M] {g : α →₀ G} {h : α → G → M} @@ -453,7 +453,7 @@ namespace Finsupp /- warning: finsupp.finset_sum_apply -> Finsupp.finset_sum_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {ι : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} N] (S : Finset.{u2} ι) (f : ι -> (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))))) (a : α), Eq.{succ u3} N (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (fun (_x : Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) => α -> N) (Finsupp.hasCoeToFun.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (Finset.sum.{max u1 u3, u2} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) ι (Finsupp.addCommMonoid.{u1, u3} α N _inst_4) S (fun (i : ι) => f i)) a) (Finset.sum.{u3, u2} N ι _inst_4 S (fun (i : ι) => coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (fun (_x : Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) => α -> N) (Finsupp.hasCoeToFun.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (f i) a)) + forall {α : Type.{u1}} {ι : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} N] (S : Finset.{u2} ι) (f : ι -> (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))))) (a : α), Eq.{succ u3} N (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (fun (_x : Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) => α -> N) (Finsupp.coeFun.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (Finset.sum.{max u1 u3, u2} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) ι (Finsupp.addCommMonoid.{u1, u3} α N _inst_4) S (fun (i : ι) => f i)) a) (Finset.sum.{u3, u2} N ι _inst_4 S (fun (i : ι) => coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (fun (_x : Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) => α -> N) (Finsupp.coeFun.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (f i) a)) but is expected to have type forall {α : Type.{u1}} {ι : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} N] (S : Finset.{u2} ι) (f : ι -> (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (a : α), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) a) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))) (Finset.sum.{max u1 u3, u2} (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))) ι (Finsupp.addCommMonoid.{u1, u3} α N _inst_4) S (fun (i : ι) => f i)) a) (Finset.sum.{u3, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) a) ι _inst_4 S (fun (i : ι) => FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))) (f i) a)) Case conversion may be inaccurate. Consider using '#align finsupp.finset_sum_apply Finsupp.finset_sum_applyₓ'. -/ @@ -464,7 +464,7 @@ theorem finset_sum_apply [AddCommMonoid N] (S : Finset ι) (f : ι → α →₀ /- warning: finsupp.sum_apply -> Finsupp.sum_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} [_inst_4 : Zero.{u3} M] [_inst_5 : AddCommMonoid.{u4} N] {f : Finsupp.{u1, u3} α M _inst_4} {g : α -> M -> (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5))))} {a₂ : β}, Eq.{succ u4} N (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (fun (_x : Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) => β -> N) (Finsupp.hasCoeToFun.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (Finsupp.sum.{u1, u3, max u2 u4} α M (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) _inst_4 (Finsupp.addCommMonoid.{u2, u4} β N _inst_5) f g) a₂) (Finsupp.sum.{u1, u3, u4} α M N _inst_4 _inst_5 f (fun (a₁ : α) (b : M) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (fun (_x : Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) => β -> N) (Finsupp.hasCoeToFun.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (g a₁ b) a₂)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} [_inst_4 : Zero.{u3} M] [_inst_5 : AddCommMonoid.{u4} N] {f : Finsupp.{u1, u3} α M _inst_4} {g : α -> M -> (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5))))} {a₂ : β}, Eq.{succ u4} N (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (fun (_x : Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) => β -> N) (Finsupp.coeFun.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (Finsupp.sum.{u1, u3, max u2 u4} α M (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) _inst_4 (Finsupp.addCommMonoid.{u2, u4} β N _inst_5) f g) a₂) (Finsupp.sum.{u1, u3, u4} α M N _inst_4 _inst_5 f (fun (a₁ : α) (b : M) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (fun (_x : Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) => β -> N) (Finsupp.coeFun.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (g a₁ b) a₂)) but is expected to have type forall {α : Type.{u2}} {β : Type.{u1}} {M : Type.{u4}} {N : Type.{u3}} [_inst_4 : Zero.{u4} M] [_inst_5 : AddCommMonoid.{u3} N] {f : Finsupp.{u2, u4} α M _inst_4} {g : α -> M -> (Finsupp.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))} {a₂ : β}, Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => N) a₂) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => N) _x) (Finsupp.funLike.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Finsupp.sum.{u2, u4, max u1 u3} α M (Finsupp.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} β N _inst_5) f g) a₂) (Finsupp.sum.{u2, u4, u3} α M ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => N) a₂) _inst_4 _inst_5 f (fun (a₁ : α) (b : M) => FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => N) _x) (Finsupp.funLike.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (g a₁ b) a₂)) Case conversion may be inaccurate. Consider using '#align finsupp.sum_apply Finsupp.sum_applyₓ'. -/ @@ -476,7 +476,7 @@ theorem sum_apply [Zero M] [AddCommMonoid N] {f : α →₀ M} {g : α → M → /- warning: finsupp.coe_finset_sum -> Finsupp.coe_finset_sum is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {ι : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} N] (S : Finset.{u2} ι) (f : ι -> (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))))), Eq.{max (succ u1) (succ u3)} (α -> N) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (fun (_x : Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) => α -> N) (Finsupp.hasCoeToFun.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (Finset.sum.{max u1 u3, u2} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) ι (Finsupp.addCommMonoid.{u1, u3} α N _inst_4) S (fun (i : ι) => f i))) (Finset.sum.{max u1 u3, u2} (α -> N) ι (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => N) (fun (i : α) => _inst_4)) S (fun (i : ι) => coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (fun (_x : Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) => α -> N) (Finsupp.hasCoeToFun.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (f i))) + forall {α : Type.{u1}} {ι : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} N] (S : Finset.{u2} ι) (f : ι -> (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))))), Eq.{max (succ u1) (succ u3)} (α -> N) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (fun (_x : Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) => α -> N) (Finsupp.coeFun.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (Finset.sum.{max u1 u3, u2} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) ι (Finsupp.addCommMonoid.{u1, u3} α N _inst_4) S (fun (i : ι) => f i))) (Finset.sum.{max u1 u3, u2} (α -> N) ι (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => N) (fun (i : α) => _inst_4)) S (fun (i : ι) => coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (fun (_x : Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) => α -> N) (Finsupp.coeFun.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))) (f i))) but is expected to have type forall {α : Type.{u1}} {ι : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} N] (S : Finset.{u2} ι) (f : ι -> (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4)))), Eq.{max (succ u1) (succ u3)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) ᾰ) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))) (Finset.sum.{max u1 u3, u2} (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))) ι (Finsupp.addCommMonoid.{u1, u3} α N _inst_4) S (fun (i : ι) => f i))) (Finset.sum.{max u1 u3, u2} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) ᾰ) ι (Pi.addCommMonoid.{u1, u3} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) ᾰ) (fun (i : α) => _inst_4)) S (fun (i : ι) => FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_4))) (f i))) Case conversion may be inaccurate. Consider using '#align finsupp.coe_finset_sum Finsupp.coe_finset_sumₓ'. -/ @@ -487,7 +487,7 @@ theorem coe_finset_sum [AddCommMonoid N] (S : Finset ι) (f : ι → α →₀ N /- warning: finsupp.coe_sum -> Finsupp.coe_sum is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} [_inst_4 : Zero.{u3} M] [_inst_5 : AddCommMonoid.{u4} N] (f : Finsupp.{u1, u3} α M _inst_4) (g : α -> M -> (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5))))), Eq.{succ (max u2 u4)} (β -> N) (coeFn.{succ (max u2 u4), succ (max u2 u4)} (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (fun (_x : Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) => β -> N) (Finsupp.hasCoeToFun.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (Finsupp.sum.{u1, u3, max u2 u4} α M (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) _inst_4 (Finsupp.addCommMonoid.{u2, u4} β N _inst_5) f g)) (Finsupp.sum.{u1, u3, max u2 u4} α M (β -> N) _inst_4 (Pi.addCommMonoid.{u2, u4} β (fun (ᾰ : β) => N) (fun (i : β) => _inst_5)) f (fun (a₁ : α) (b : M) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (fun (_x : Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) => β -> N) (Finsupp.hasCoeToFun.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (g a₁ b))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} [_inst_4 : Zero.{u3} M] [_inst_5 : AddCommMonoid.{u4} N] (f : Finsupp.{u1, u3} α M _inst_4) (g : α -> M -> (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5))))), Eq.{succ (max u2 u4)} (β -> N) (coeFn.{succ (max u2 u4), succ (max u2 u4)} (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (fun (_x : Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) => β -> N) (Finsupp.coeFun.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (Finsupp.sum.{u1, u3, max u2 u4} α M (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) _inst_4 (Finsupp.addCommMonoid.{u2, u4} β N _inst_5) f g)) (Finsupp.sum.{u1, u3, max u2 u4} α M (β -> N) _inst_4 (Pi.addCommMonoid.{u2, u4} β (fun (ᾰ : β) => N) (fun (i : β) => _inst_5)) f (fun (a₁ : α) (b : M) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (fun (_x : Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) => β -> N) (Finsupp.coeFun.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5)))) (g a₁ b))) but is expected to have type forall {α : Type.{u2}} {β : Type.{u1}} {M : Type.{u4}} {N : Type.{u3}} [_inst_4 : Zero.{u4} M] [_inst_5 : AddCommMonoid.{u3} N] (f : Finsupp.{u2, u4} α M _inst_4) (g : α -> M -> (Finsupp.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))), Eq.{max (succ u1) (succ u3)} (forall (ᾰ : β), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => N) ᾰ) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => N) _x) (Finsupp.funLike.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Finsupp.sum.{u2, u4, max u1 u3} α M (Finsupp.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} β N _inst_5) f g)) (Finsupp.sum.{u2, u4, max u1 u3} α M (forall (ᾰ : β), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => N) ᾰ) _inst_4 (Pi.addCommMonoid.{u1, u3} β (fun (ᾰ : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => N) ᾰ) (fun (i : β) => _inst_5)) f (fun (a₁ : α) (b : M) => FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => N) _x) (Finsupp.funLike.{u1, u3} β N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (g a₁ b))) Case conversion may be inaccurate. Consider using '#align finsupp.coe_sum Finsupp.coe_sumₓ'. -/ @@ -498,7 +498,7 @@ theorem coe_sum [Zero M] [AddCommMonoid N] (f : α →₀ M) (g : α → M → /- warning: finsupp.support_sum -> Finsupp.support_sum is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} [_inst_4 : DecidableEq.{succ u2} β] [_inst_5 : Zero.{u3} M] [_inst_6 : AddCommMonoid.{u4} N] {f : Finsupp.{u1, u3} α M _inst_5} {g : α -> M -> (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_6))))}, HasSubset.Subset.{u2} (Finset.{u2} β) (Finset.hasSubset.{u2} β) (Finsupp.support.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_6))) (Finsupp.sum.{u1, u3, max u2 u4} α M (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_6)))) _inst_5 (Finsupp.addCommMonoid.{u2, u4} β N _inst_6) f g)) (Finset.bunionᵢ.{u1, u2} α β (fun (a : β) (b : β) => _inst_4 a b) (Finsupp.support.{u1, u3} α M _inst_5 f) (fun (a : α) => Finsupp.support.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_6))) (g a (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_5) (fun (_x : Finsupp.{u1, u3} α M _inst_5) => α -> M) (Finsupp.hasCoeToFun.{u1, u3} α M _inst_5) f a)))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} [_inst_4 : DecidableEq.{succ u2} β] [_inst_5 : Zero.{u3} M] [_inst_6 : AddCommMonoid.{u4} N] {f : Finsupp.{u1, u3} α M _inst_5} {g : α -> M -> (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_6))))}, HasSubset.Subset.{u2} (Finset.{u2} β) (Finset.hasSubset.{u2} β) (Finsupp.support.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_6))) (Finsupp.sum.{u1, u3, max u2 u4} α M (Finsupp.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_6)))) _inst_5 (Finsupp.addCommMonoid.{u2, u4} β N _inst_6) f g)) (Finset.bunionᵢ.{u1, u2} α β (fun (a : β) (b : β) => _inst_4 a b) (Finsupp.support.{u1, u3} α M _inst_5 f) (fun (a : α) => Finsupp.support.{u2, u4} β N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_6))) (g a (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_5) (fun (_x : Finsupp.{u1, u3} α M _inst_5) => α -> M) (Finsupp.coeFun.{u1, u3} α M _inst_5) f a)))) but is expected to have type forall {α : Type.{u1}} {β : Type.{u4}} {M : Type.{u3}} {N : Type.{u2}} [_inst_4 : DecidableEq.{succ u4} β] [_inst_5 : Zero.{u3} M] [_inst_6 : AddCommMonoid.{u2} N] {f : Finsupp.{u1, u3} α M _inst_5} {g : α -> M -> (Finsupp.{u4, u2} β N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_6)))}, HasSubset.Subset.{u4} (Finset.{u4} β) (Finset.instHasSubsetFinset.{u4} β) (Finsupp.support.{u4, u2} β N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_6)) (Finsupp.sum.{u1, u3, max u4 u2} α M (Finsupp.{u4, u2} β N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_6))) _inst_5 (Finsupp.addCommMonoid.{u4, u2} β N _inst_6) f g)) (Finset.bunionᵢ.{u1, u4} α β (fun (a : β) (b : β) => _inst_4 a b) (Finsupp.support.{u1, u3} α M _inst_5 f) (fun (a : α) => Finsupp.support.{u4, u2} β N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_6)) (g a (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M _inst_5) f a)))) Case conversion may be inaccurate. Consider using '#align finsupp.support_sum Finsupp.support_sumₓ'. -/ @@ -578,7 +578,7 @@ theorem sum_sub [Zero M] [AddCommGroup G] {f : α →₀ M} {h₁ h₂ : α → /- warning: finsupp.prod_add_index -> Finsupp.prod_add_index is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : DecidableEq.{succ u1} α] [_inst_5 : AddZeroClass.{u2} M] [_inst_6 : CommMonoid.{u3} N] {f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)} {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)} {h : α -> M -> N}, (forall (a : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Union.union.{u1} (Finset.{u1} α) (Finset.hasUnion.{u1} α (fun (a : α) (b : α) => _inst_4 a b)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5) f) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5) g))) -> (Eq.{succ u3} N (h a (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_5))))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))))))) -> (forall (a : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Union.union.{u1} (Finset.{u1} α) (Finset.hasUnion.{u1} α (fun (a : α) (b : α) => _inst_4 a b)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5) f) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5) g))) -> (forall (b₁ : M) (b₂ : M), Eq.{succ u3} N (h a (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_5)) b₁ b₂)) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))) (h a b₁) (h a b₂)))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_5) _inst_6 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)) (Finsupp.hasAdd.{u1, u2} α M _inst_5)) f g) h) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_5) _inst_6 f h) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_5) _inst_6 g h))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : DecidableEq.{succ u1} α] [_inst_5 : AddZeroClass.{u2} M] [_inst_6 : CommMonoid.{u3} N] {f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)} {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)} {h : α -> M -> N}, (forall (a : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Union.union.{u1} (Finset.{u1} α) (Finset.hasUnion.{u1} α (fun (a : α) (b : α) => _inst_4 a b)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5) f) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5) g))) -> (Eq.{succ u3} N (h a (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_5))))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))))))) -> (forall (a : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Union.union.{u1} (Finset.{u1} α) (Finset.hasUnion.{u1} α (fun (a : α) (b : α) => _inst_4 a b)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5) f) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5) g))) -> (forall (b₁ : M) (b₂ : M), Eq.{succ u3} N (h a (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_5)) b₁ b₂)) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))) (h a b₁) (h a b₂)))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_5) _inst_6 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_5)) (Finsupp.add.{u1, u2} α M _inst_5)) f g) h) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_6)))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_5) _inst_6 f h) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_5) _inst_6 g h))) but is expected to have type forall {α : Type.{u3}} {M : Type.{u2}} {N : Type.{u1}} [_inst_4 : DecidableEq.{succ u3} α] [_inst_5 : AddZeroClass.{u2} M] [_inst_6 : CommMonoid.{u1} N] {f : Finsupp.{u3, u2} α M (AddZeroClass.toZero.{u2} M _inst_5)} {g : Finsupp.{u3, u2} α M (AddZeroClass.toZero.{u2} M _inst_5)} {h : α -> M -> N}, (forall (a : α), (Membership.mem.{u3, u3} α (Finset.{u3} α) (Finset.instMembershipFinset.{u3} α) a (Union.union.{u3} (Finset.{u3} α) (Finset.instUnionFinset.{u3} α (fun (a : α) (b : α) => _inst_4 a b)) (Finsupp.support.{u3, u2} α M (AddZeroClass.toZero.{u2} M _inst_5) f) (Finsupp.support.{u3, u2} α M (AddZeroClass.toZero.{u2} M _inst_5) g))) -> (Eq.{succ u1} N (h a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddZeroClass.toZero.{u2} M _inst_5)))) (OfNat.ofNat.{u1} N 1 (One.toOfNat1.{u1} N (Monoid.toOne.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6)))))) -> (forall (a : α), (Membership.mem.{u3, u3} α (Finset.{u3} α) (Finset.instMembershipFinset.{u3} α) a (Union.union.{u3} (Finset.{u3} α) (Finset.instUnionFinset.{u3} α (fun (a : α) (b : α) => _inst_4 a b)) (Finsupp.support.{u3, u2} α M (AddZeroClass.toZero.{u2} M _inst_5) f) (Finsupp.support.{u3, u2} α M (AddZeroClass.toZero.{u2} M _inst_5) g))) -> (forall (b₁ : M) (b₂ : M), Eq.{succ u1} N (h a (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M _inst_5)) b₁ b₂)) (HMul.hMul.{u1, u1, u1} N N N (instHMul.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6)))) (h a b₁) (h a b₂)))) -> (Eq.{succ u1} N (Finsupp.prod.{u3, u2, u1} α M N (AddZeroClass.toZero.{u2} M _inst_5) _inst_6 (HAdd.hAdd.{max u3 u2, max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddZeroClass.toZero.{u2} M _inst_5)) (Finsupp.{u3, u2} α M (AddZeroClass.toZero.{u2} M _inst_5)) (Finsupp.{u3, u2} α M (AddZeroClass.toZero.{u2} M _inst_5)) (instHAdd.{max u3 u2} (Finsupp.{u3, u2} α M (AddZeroClass.toZero.{u2} M _inst_5)) (Finsupp.add.{u3, u2} α M _inst_5)) f g) h) (HMul.hMul.{u1, u1, u1} N N N (instHMul.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (CommMonoid.toMonoid.{u1} N _inst_6)))) (Finsupp.prod.{u3, u2, u1} α M N (AddZeroClass.toZero.{u2} M _inst_5) _inst_6 f h) (Finsupp.prod.{u3, u2, u1} α M N (AddZeroClass.toZero.{u2} M _inst_5) _inst_6 g h))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_add_index Finsupp.prod_add_indexₓ'. -/ @@ -601,7 +601,7 @@ theorem prod_add_index [DecidableEq α] [AddZeroClass M] [CommMonoid N] {f g : /- warning: finsupp.prod_add_index' -> Finsupp.prod_add_index' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddZeroClass.{u2} M] [_inst_5 : CommMonoid.{u3} N] {f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} {h : α -> M -> N}, (forall (a : α), Eq.{succ u3} N (h a (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_4))))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))))))) -> (forall (a : α) (b₁ : M) (b₂ : M), Eq.{succ u3} N (h a (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_4)) b₁ b₂)) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5)))) (h a b₁) (h a b₂))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.hasAdd.{u1, u2} α M _inst_4)) f g) h) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5)))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 f h) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 g h))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddZeroClass.{u2} M] [_inst_5 : CommMonoid.{u3} N] {f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} {h : α -> M -> N}, (forall (a : α), Eq.{succ u3} N (h a (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_4))))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))))))) -> (forall (a : α) (b₁ : M) (b₂ : M), Eq.{succ u3} N (h a (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_4)) b₁ b₂)) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5)))) (h a b₁) (h a b₂))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.add.{u1, u2} α M _inst_4)) f g) h) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5)))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 f h) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 g h))) but is expected to have type forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} [_inst_4 : AddZeroClass.{u3} M] [_inst_5 : CommMonoid.{u2} N] {f : Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)} {g : Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)} {h : α -> M -> N}, (forall (a : α), Eq.{succ u2} N (h a (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddZeroClass.toZero.{u3} M _inst_4)))) (OfNat.ofNat.{u2} N 1 (One.toOfNat1.{u2} N (Monoid.toOne.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))))) -> (forall (a : α) (b₁ : M) (b₂ : M), Eq.{succ u2} N (h a (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M _inst_4)) b₁ b₂)) (HMul.hMul.{u2, u2, u2} N N N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5)))) (h a b₁) (h a b₂))) -> (Eq.{succ u2} N (Finsupp.prod.{u1, u3, u2} α M N (AddZeroClass.toZero.{u3} M _inst_4) _inst_5 (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (Finsupp.add.{u1, u3} α M _inst_4)) f g) h) (HMul.hMul.{u2, u2, u2} N N N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5)))) (Finsupp.prod.{u1, u3, u2} α M N (AddZeroClass.toZero.{u3} M _inst_4) _inst_5 f h) (Finsupp.prod.{u1, u3, u2} α M N (AddZeroClass.toZero.{u3} M _inst_4) _inst_5 g h))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_add_index' Finsupp.prod_add_index'ₓ'. -/ @@ -619,7 +619,7 @@ theorem prod_add_index' [AddZeroClass M] [CommMonoid N] {f g : α →₀ M} {h : /- warning: finsupp.sum_hom_add_index -> Finsupp.sum_hom_add_index is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddZeroClass.{u2} M] [_inst_5 : AddCommMonoid.{u3} N] {f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} (h : α -> (AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))), Eq.{succ u3} N (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.hasAdd.{u1, u2} α M _inst_4)) f g) (fun (x : α) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (fun (_x : AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) => M -> N) (AddMonoidHom.hasCoeToFun.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (h x))) (HAdd.hAdd.{u3, u3, u3} N N N (instHAdd.{u3} N (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 f (fun (x : α) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (fun (_x : AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) => M -> N) (AddMonoidHom.hasCoeToFun.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (h x))) (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 g (fun (x : α) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (fun (_x : AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) => M -> N) (AddMonoidHom.hasCoeToFun.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (h x)))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddZeroClass.{u2} M] [_inst_5 : AddCommMonoid.{u3} N] {f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} (h : α -> (AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))), Eq.{succ u3} N (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.add.{u1, u2} α M _inst_4)) f g) (fun (x : α) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (fun (_x : AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) => M -> N) (AddMonoidHom.hasCoeToFun.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (h x))) (HAdd.hAdd.{u3, u3, u3} N N N (instHAdd.{u3} N (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 f (fun (x : α) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (fun (_x : AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) => M -> N) (AddMonoidHom.hasCoeToFun.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (h x))) (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 g (fun (x : α) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (fun (_x : AddMonoidHom.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) => M -> N) (AddMonoidHom.hasCoeToFun.{u2, u3} M N _inst_4 (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (h x)))) but is expected to have type forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} [_inst_4 : AddZeroClass.{u3} M] [_inst_5 : AddCommMonoid.{u2} N] {f : Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)} {g : Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)} (h : α -> (AddMonoidHom.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))), Eq.{succ u2} N (Finsupp.sum.{u1, u3, u2} α M N (AddZeroClass.toZero.{u3} M _inst_4) _inst_5 (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (Finsupp.add.{u1, u3} α M _inst_4)) f g) (fun (x : α) => FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AddMonoidHom.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => N) _x) (AddHomClass.toFunLike.{max u3 u2, u3, u2} (AddMonoidHom.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) M N (AddZeroClass.toAdd.{u3} M _inst_4) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u3, u2} (AddMonoidHom.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (AddMonoidHom.addMonoidHomClass.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))))) (h x))) (HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.sum.{u1, u3, u2} α M N (AddZeroClass.toZero.{u3} M _inst_4) _inst_5 f (fun (x : α) => FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AddMonoidHom.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => N) _x) (AddHomClass.toFunLike.{max u3 u2, u3, u2} (AddMonoidHom.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) M N (AddZeroClass.toAdd.{u3} M _inst_4) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u3, u2} (AddMonoidHom.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (AddMonoidHom.addMonoidHomClass.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))))) (h x))) (Finsupp.sum.{u1, u3, u2} α M N (AddZeroClass.toZero.{u3} M _inst_4) _inst_5 g (fun (x : α) => FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AddMonoidHom.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => N) _x) (AddHomClass.toFunLike.{max u3 u2, u3, u2} (AddMonoidHom.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) M N (AddZeroClass.toAdd.{u3} M _inst_4) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u3, u2} (AddMonoidHom.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (AddMonoidHom.addMonoidHomClass.{u3, u2} M N _inst_4 (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))))) (h x)))) Case conversion may be inaccurate. Consider using '#align finsupp.sum_hom_add_index Finsupp.sum_hom_add_indexₓ'. -/ @@ -631,7 +631,7 @@ theorem sum_hom_add_index [AddZeroClass M] [AddCommMonoid N] {f g : α →₀ M} /- warning: finsupp.prod_hom_add_index -> Finsupp.prod_hom_add_index is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddZeroClass.{u2} M] [_inst_5 : CommMonoid.{u3} N] {f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} (h : α -> (MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5)))), Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.hasAdd.{u1, u2} α M _inst_4)) f g) (fun (a : α) (b : M) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (fun (_x : MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) => (Multiplicative.{u2} M) -> N) (MonoidHom.hasCoeToFun.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (h a) (coeFn.{succ u2, succ u2} (Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) (fun (_x : Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) => M -> (Multiplicative.{u2} M)) (Equiv.hasCoeToFun.{succ u2, succ u2} M (Multiplicative.{u2} M)) (Multiplicative.ofAdd.{u2} M) b))) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5)))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 f (fun (a : α) (b : M) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (fun (_x : MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) => (Multiplicative.{u2} M) -> N) (MonoidHom.hasCoeToFun.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (h a) (coeFn.{succ u2, succ u2} (Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) (fun (_x : Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) => M -> (Multiplicative.{u2} M)) (Equiv.hasCoeToFun.{succ u2, succ u2} M (Multiplicative.{u2} M)) (Multiplicative.ofAdd.{u2} M) b))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 g (fun (a : α) (b : M) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (fun (_x : MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) => (Multiplicative.{u2} M) -> N) (MonoidHom.hasCoeToFun.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (h a) (coeFn.{succ u2, succ u2} (Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) (fun (_x : Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) => M -> (Multiplicative.{u2} M)) (Equiv.hasCoeToFun.{succ u2, succ u2} M (Multiplicative.{u2} M)) (Multiplicative.ofAdd.{u2} M) b)))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddZeroClass.{u2} M] [_inst_5 : CommMonoid.{u3} N] {f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)} (h : α -> (MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5)))), Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_4)) (Finsupp.add.{u1, u2} α M _inst_4)) f g) (fun (a : α) (b : M) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (fun (_x : MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) => (Multiplicative.{u2} M) -> N) (MonoidHom.hasCoeToFun.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (h a) (coeFn.{succ u2, succ u2} (Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) (fun (_x : Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) => M -> (Multiplicative.{u2} M)) (Equiv.hasCoeToFun.{succ u2, succ u2} M (Multiplicative.{u2} M)) (Multiplicative.ofAdd.{u2} M) b))) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5)))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 f (fun (a : α) (b : M) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (fun (_x : MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) => (Multiplicative.{u2} M) -> N) (MonoidHom.hasCoeToFun.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (h a) (coeFn.{succ u2, succ u2} (Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) (fun (_x : Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) => M -> (Multiplicative.{u2} M)) (Equiv.hasCoeToFun.{succ u2, succ u2} M (Multiplicative.{u2} M)) (Multiplicative.ofAdd.{u2} M) b))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_4) _inst_5 g (fun (a : α) (b : M) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (fun (_x : MonoidHom.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) => (Multiplicative.{u2} M) -> N) (MonoidHom.hasCoeToFun.{u2, u3} (Multiplicative.{u2} M) N (Multiplicative.mulOneClass.{u2} M _inst_4) (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (h a) (coeFn.{succ u2, succ u2} (Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) (fun (_x : Equiv.{succ u2, succ u2} M (Multiplicative.{u2} M)) => M -> (Multiplicative.{u2} M)) (Equiv.hasCoeToFun.{succ u2, succ u2} M (Multiplicative.{u2} M)) (Multiplicative.ofAdd.{u2} M) b)))) but is expected to have type forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} [_inst_4 : AddZeroClass.{u3} M] [_inst_5 : CommMonoid.{u2} N] {f : Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)} {g : Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)} (h : α -> (MonoidHom.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5)))), Eq.{succ u2} N (Finsupp.prod.{u1, u3, u2} α M N (AddZeroClass.toZero.{u3} M _inst_4) _inst_5 (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toZero.{u3} M _inst_4)) (Finsupp.add.{u1, u3} α M _inst_4)) f g) (fun (a : α) (b : M) => FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (Multiplicative.{u3} M) (fun (_x : Multiplicative.{u3} M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : Multiplicative.{u3} M) => N) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (Multiplicative.{u3} M) N (MulOneClass.toMul.{u3} (Multiplicative.{u3} M) (Multiplicative.mulOneClass.{u3} M _inst_4)) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5)) (MonoidHom.monoidHomClass.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))))) (h a) (FunLike.coe.{succ u3, succ u3, succ u3} (Equiv.{succ u3, succ u3} M (Multiplicative.{u3} M)) M (fun (_x : M) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : M) => Multiplicative.{u3} M) _x) (Equiv.instFunLikeEquiv.{succ u3, succ u3} M (Multiplicative.{u3} M)) (Multiplicative.ofAdd.{u3} M) b))) (HMul.hMul.{u2, u2, u2} N N N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5)))) (Finsupp.prod.{u1, u3, u2} α M N (AddZeroClass.toZero.{u3} M _inst_4) _inst_5 f (fun (a : α) (b : M) => FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (Multiplicative.{u3} M) (fun (_x : Multiplicative.{u3} M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : Multiplicative.{u3} M) => N) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (Multiplicative.{u3} M) N (MulOneClass.toMul.{u3} (Multiplicative.{u3} M) (Multiplicative.mulOneClass.{u3} M _inst_4)) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5)) (MonoidHom.monoidHomClass.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))))) (h a) (FunLike.coe.{succ u3, succ u3, succ u3} (Equiv.{succ u3, succ u3} M (Multiplicative.{u3} M)) M (fun (_x : M) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : M) => Multiplicative.{u3} M) _x) (Equiv.instFunLikeEquiv.{succ u3, succ u3} M (Multiplicative.{u3} M)) (Multiplicative.ofAdd.{u3} M) b))) (Finsupp.prod.{u1, u3, u2} α M N (AddZeroClass.toZero.{u3} M _inst_4) _inst_5 g (fun (a : α) (b : M) => FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (Multiplicative.{u3} M) (fun (_x : Multiplicative.{u3} M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : Multiplicative.{u3} M) => N) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (Multiplicative.{u3} M) N (MulOneClass.toMul.{u3} (Multiplicative.{u3} M) (Multiplicative.mulOneClass.{u3} M _inst_4)) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5)) (MonoidHom.monoidHomClass.{u3, u2} (Multiplicative.{u3} M) N (Multiplicative.mulOneClass.{u3} M _inst_4) (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))))) (h a) (FunLike.coe.{succ u3, succ u3, succ u3} (Equiv.{succ u3, succ u3} M (Multiplicative.{u3} M)) M (fun (_x : M) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : M) => Multiplicative.{u3} M) _x) (Equiv.instFunLikeEquiv.{succ u3, succ u3} M (Multiplicative.{u3} M)) (Multiplicative.ofAdd.{u3} M) b)))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_hom_add_index Finsupp.prod_hom_add_indexₓ'. -/ @@ -730,7 +730,7 @@ theorem sum_single [AddCommMonoid M] (f : α →₀ M) : f.Sum single = f := /- warning: finsupp.sum_univ_single -> Finsupp.sum_univ_single is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Fintype.{u1} α] (i : α) (m : M), Eq.{succ u2} M (Finset.sum.{u2, u1} M α _inst_4 (Finset.univ.{u1} α _inst_5) (fun (j : α) => coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) i m) j)) m + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Fintype.{u1} α] (i : α) (m : M), Eq.{succ u2} M (Finset.sum.{u2, u1} M α _inst_4 (Finset.univ.{u1} α _inst_5) (fun (j : α) => coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) i m) j)) m but is expected to have type forall {α : Type.{u1}} {M : Type.{u2}} [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Fintype.{u1} α] (i : α) (m : M), Eq.{succ u2} M (Finset.sum.{u2, u1} M α _inst_4 (Finset.univ.{u1} α _inst_5) (fun (j : α) => FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Finsupp.single.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) i m) j)) m Case conversion may be inaccurate. Consider using '#align finsupp.sum_univ_single Finsupp.sum_univ_singleₓ'. -/ @@ -741,7 +741,7 @@ theorem sum_univ_single [AddCommMonoid M] [Fintype α] (i : α) (m : M) : /- warning: finsupp.sum_univ_single' -> Finsupp.sum_univ_single' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Fintype.{u1} α] (i : α) (m : M), Eq.{succ u2} M (Finset.sum.{u2, u1} M α _inst_4 (Finset.univ.{u1} α _inst_5) (fun (j : α) => coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) j m) i)) m + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Fintype.{u1} α] (i : α) (m : M), Eq.{succ u2} M (Finset.sum.{u2, u1} M α _inst_4 (Finset.univ.{u1} α _inst_5) (fun (j : α) => coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) j m) i)) m but is expected to have type forall {α : Type.{u1}} {M : Type.{u2}} [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : Fintype.{u1} α] (i : α) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) i) (Finset.sum.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) i) α _inst_4 (Finset.univ.{u1} α _inst_5) (fun (j : α) => FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) (Finsupp.single.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)) j m) i)) m Case conversion may be inaccurate. Consider using '#align finsupp.sum_univ_single' Finsupp.sum_univ_single'ₓ'. -/ @@ -789,9 +789,9 @@ theorem comp_liftAddHom [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] (g /- warning: finsupp.sum_sub_index -> Finsupp.sum_sub_index is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {γ : Type.{u2}} {β : Type.{u3}} [_inst_4 : AddCommGroup.{u3} β] [_inst_5 : AddCommGroup.{u2} γ] {f : Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))} {g : Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))} {h : α -> β -> γ}, (forall (a : α) (b₁ : β) (b₂ : β), Eq.{succ u2} γ (h a (HSub.hSub.{u3, u3, u3} β β β (instHSub.{u3} β (SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))) b₁ b₂)) (HSub.hSub.{u2, u2, u2} γ γ γ (instHSub.{u2} γ (SubNegMonoid.toHasSub.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_5)))) (h a b₁) (h a b₂))) -> (Eq.{succ u2} γ (Finsupp.sum.{u1, u3, u2} α β γ (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))) (Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))) (Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))) (Finsupp.hasSub.{u1, u3} α β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (AddGroup.toSubtractionMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4))))) f g) h) (HSub.hSub.{u2, u2, u2} γ γ γ (instHSub.{u2} γ (SubNegMonoid.toHasSub.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_5)))) (Finsupp.sum.{u1, u3, u2} α β γ (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) f h) (Finsupp.sum.{u1, u3, u2} α β γ (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) g h))) + forall {α : Type.{u1}} {γ : Type.{u2}} {β : Type.{u3}} [_inst_4 : AddCommGroup.{u3} β] [_inst_5 : AddCommGroup.{u2} γ] {f : Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))} {g : Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))} {h : α -> β -> γ}, (forall (a : α) (b₁ : β) (b₂ : β), Eq.{succ u2} γ (h a (HSub.hSub.{u3, u3, u3} β β β (instHSub.{u3} β (SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))) b₁ b₂)) (HSub.hSub.{u2, u2, u2} γ γ γ (instHSub.{u2} γ (SubNegMonoid.toHasSub.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_5)))) (h a b₁) (h a b₂))) -> (Eq.{succ u2} γ (Finsupp.sum.{u1, u3, u2} α β γ (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))) (Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))) (Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))))) (Finsupp.sub.{u1, u3} α β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (AddGroup.toSubtractionMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4))))) f g) h) (HSub.hSub.{u2, u2, u2} γ γ γ (instHSub.{u2} γ (SubNegMonoid.toHasSub.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_5)))) (Finsupp.sum.{u1, u3, u2} α β γ (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) f h) (Finsupp.sum.{u1, u3, u2} α β γ (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (SubNegMonoid.toAddMonoid.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) g h))) but is expected to have type - forall {α : Type.{u1}} {γ : Type.{u2}} {β : Type.{u3}} [_inst_4 : AddCommGroup.{u3} β] [_inst_5 : AddCommGroup.{u2} γ] {f : Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))} {g : Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))} {h : α -> β -> γ}, (forall (a : α) (b₁ : β) (b₂ : β), Eq.{succ u2} γ (h a (HSub.hSub.{u3, u3, u3} β β β (instHSub.{u3} β (SubNegMonoid.toSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))) b₁ b₂)) (HSub.hSub.{u2, u2, u2} γ γ γ (instHSub.{u2} γ (SubNegMonoid.toSub.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_5)))) (h a b₁) (h a b₂))) -> (Eq.{succ u2} γ (Finsupp.sum.{u1, u3, u2} α β γ (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))) (Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))) (Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u1, u3} α β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4))))) f g) h) (HSub.hSub.{u2, u2, u2} γ γ γ (instHSub.{u2} γ (SubNegMonoid.toSub.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_5)))) (Finsupp.sum.{u1, u3, u2} α β γ (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) f h) (Finsupp.sum.{u1, u3, u2} α β γ (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) g h))) + forall {α : Type.{u1}} {γ : Type.{u2}} {β : Type.{u3}} [_inst_4 : AddCommGroup.{u3} β] [_inst_5 : AddCommGroup.{u2} γ] {f : Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))} {g : Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))} {h : α -> β -> γ}, (forall (a : α) (b₁ : β) (b₂ : β), Eq.{succ u2} γ (h a (HSub.hSub.{u3, u3, u3} β β β (instHSub.{u3} β (SubNegMonoid.toSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β _inst_4)))) b₁ b₂)) (HSub.hSub.{u2, u2, u2} γ γ γ (instHSub.{u2} γ (SubNegMonoid.toSub.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_5)))) (h a b₁) (h a b₂))) -> (Eq.{succ u2} γ (Finsupp.sum.{u1, u3, u2} α β γ (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))) (Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))) (Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α β (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4)))))) (Finsupp.sub.{u1, u3} α β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4))))) f g) h) (HSub.hSub.{u2, u2, u2} γ γ γ (instHSub.{u2} γ (SubNegMonoid.toSub.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_5)))) (Finsupp.sum.{u1, u3, u2} α β γ (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) f h) (Finsupp.sum.{u1, u3, u2} α β γ (NegZeroClass.toZero.{u3} β (SubNegZeroMonoid.toNegZeroClass.{u3} β (SubtractionMonoid.toSubNegZeroMonoid.{u3} β (SubtractionCommMonoid.toSubtractionMonoid.{u3} β (AddCommGroup.toDivisionAddCommMonoid.{u3} β _inst_4))))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_5) g h))) Case conversion may be inaccurate. Consider using '#align finsupp.sum_sub_index Finsupp.sum_sub_indexₓ'. -/ theorem sum_sub_index [AddCommGroup β] [AddCommGroup γ] {f g : α →₀ β} {h : α → β → γ} (h_sub : ∀ a b₁ b₂, h a (b₁ - b₂) = h a b₁ - h a b₂) : (f - g).Sum h = f.Sum h - g.Sum h := @@ -903,7 +903,7 @@ theorem multiset_sum_sum [Zero M] [AddCommMonoid N] {f : α →₀ M} {h : α /- warning: finsupp.prod_add_index_of_disjoint -> Finsupp.prod_add_index_of_disjoint is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_4 : AddCommMonoid.{u2} M] {f1 : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))} {f2 : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))}, (Disjoint.{u1} (Finset.{u1} α) (Finset.partialOrder.{u1} α) (Finset.orderBot.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) f1) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) f2)) -> (forall {β : Type.{u3}} [_inst_5 : CommMonoid.{u3} β] (g : α -> M -> β), Eq.{succ u3} β (Finsupp.prod.{u1, u2, u3} α M β (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) _inst_5 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) f1 f2) g) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (MulOneClass.toHasMul.{u3} β (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β _inst_5)))) (Finsupp.prod.{u1, u2, u3} α M β (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) _inst_5 f1 g) (Finsupp.prod.{u1, u2, u3} α M β (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) _inst_5 f2 g))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_4 : AddCommMonoid.{u2} M] {f1 : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))} {f2 : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))}, (Disjoint.{u1} (Finset.{u1} α) (Finset.partialOrder.{u1} α) (Finset.orderBot.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) f1) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) f2)) -> (forall {β : Type.{u3}} [_inst_5 : CommMonoid.{u3} β] (g : α -> M -> β), Eq.{succ u3} β (Finsupp.prod.{u1, u2, u3} α M β (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) _inst_5 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) f1 f2) g) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (MulOneClass.toHasMul.{u3} β (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β _inst_5)))) (Finsupp.prod.{u1, u2, u3} α M β (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) _inst_5 f1 g) (Finsupp.prod.{u1, u2, u3} α M β (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) _inst_5 f2 g))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M] {f1 : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))} {f2 : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))}, (Disjoint.{u2} (Finset.{u2} α) (Finset.partialOrder.{u2} α) (Finset.instOrderBotFinsetToLEToPreorderPartialOrder.{u2} α) (Finsupp.support.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) f1) (Finsupp.support.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) f2)) -> (forall {β : Type.{u1}} [_inst_5 : CommMonoid.{u1} β] (g : α -> M -> β), Eq.{succ u1} β (Finsupp.prod.{u2, u3, u1} α M β (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) _inst_5 (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))) (Finsupp.add.{u2, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)))) f1 f2) g) (HMul.hMul.{u1, u1, u1} β β β (instHMul.{u1} β (MulOneClass.toMul.{u1} β (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β _inst_5)))) (Finsupp.prod.{u2, u3, u1} α M β (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) _inst_5 f1 g) (Finsupp.prod.{u2, u3, u1} α M β (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) _inst_5 f2 g))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_add_index_of_disjoint Finsupp.prod_add_index_of_disjointₓ'. -/ @@ -928,7 +928,7 @@ theorem prod_add_index_of_disjoint [AddCommMonoid M] {f1 f2 : α →₀ M} /- warning: finsupp.prod_dvd_prod_of_subset_of_dvd -> Finsupp.prod_dvd_prod_of_subset_of_dvd is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : CommMonoid.{u3} N] {f1 : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))} {f2 : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))} {g1 : α -> M -> N} {g2 : α -> M -> N}, (HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) f1) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) f2)) -> (forall (a : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) f1)) -> (Dvd.Dvd.{u3} N (semigroupDvd.{u3} N (Monoid.toSemigroup.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (g1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) f1 a)) (g2 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) f2 a)))) -> (Dvd.Dvd.{u3} N (semigroupDvd.{u3} N (Monoid.toSemigroup.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) _inst_5 f1 g1) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) _inst_5 f2 g2)) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : CommMonoid.{u3} N] {f1 : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))} {f2 : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))} {g1 : α -> M -> N} {g2 : α -> M -> N}, (HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) f1) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) f2)) -> (forall (a : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) f1)) -> (Dvd.Dvd.{u3} N (semigroupDvd.{u3} N (Monoid.toSemigroup.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (g1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) f1 a)) (g2 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4)))) f2 a)))) -> (Dvd.Dvd.{u3} N (semigroupDvd.{u3} N (Monoid.toSemigroup.{u3} N (CommMonoid.toMonoid.{u3} N _inst_5))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) _inst_5 f1 g1) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_4))) _inst_5 f2 g2)) but is expected to have type forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : CommMonoid.{u2} N] {f1 : Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))} {f2 : Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))} {g1 : α -> M -> N} {g2 : α -> M -> N}, (HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.instHasSubsetFinset.{u1} α) (Finsupp.support.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) f1) (Finsupp.support.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) f2)) -> (forall (a : α), (Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) a (Finsupp.support.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) f1)) -> (Dvd.dvd.{u2} N (semigroupDvd.{u2} N (Monoid.toSemigroup.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (g1 a (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))) f1 a)) (g2 a (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4))) f2 a)))) -> (Dvd.dvd.{u2} N (semigroupDvd.{u2} N (Monoid.toSemigroup.{u2} N (CommMonoid.toMonoid.{u2} N _inst_5))) (Finsupp.prod.{u1, u3, u2} α M N (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) _inst_5 f1 g1) (Finsupp.prod.{u1, u3, u2} α M N (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_4)) _inst_5 f2 g2)) Case conversion may be inaccurate. Consider using '#align finsupp.prod_dvd_prod_of_subset_of_dvd Finsupp.prod_dvd_prod_of_subset_of_dvdₓ'. -/ @@ -967,7 +967,7 @@ end Finsupp /- warning: finset.sum_apply' -> Finset.sum_apply' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {ι : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} A] {s : Finset.{u1} α} {f : α -> (Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1))))} (i : ι), Eq.{succ u3} A (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) (fun (_x : Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) => ι -> A) (Finsupp.hasCoeToFun.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) (Finset.sum.{max u2 u3, u1} (Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) α (Finsupp.addCommMonoid.{u2, u3} ι A _inst_1) s (fun (k : α) => f k)) i) (Finset.sum.{u3, u1} A α _inst_1 s (fun (k : α) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) (fun (_x : Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) => ι -> A) (Finsupp.hasCoeToFun.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) (f k) i)) + forall {α : Type.{u1}} {ι : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} A] {s : Finset.{u1} α} {f : α -> (Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1))))} (i : ι), Eq.{succ u3} A (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) (fun (_x : Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) => ι -> A) (Finsupp.coeFun.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) (Finset.sum.{max u2 u3, u1} (Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) α (Finsupp.addCommMonoid.{u2, u3} ι A _inst_1) s (fun (k : α) => f k)) i) (Finset.sum.{u3, u1} A α _inst_1 s (fun (k : α) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) (fun (_x : Finsupp.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) => ι -> A) (Finsupp.coeFun.{u2, u3} ι A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))) (f k) i)) but is expected to have type forall {α : Type.{u1}} {ι : Type.{u2}} {A : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} A] {s : Finset.{u1} α} {f : α -> (Finsupp.{u2, u3} ι A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1)))} (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => A) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Finsupp.{u2, u3} ι A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => A) _x) (Finsupp.funLike.{u2, u3} ι A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1))) (Finset.sum.{max u2 u3, u1} (Finsupp.{u2, u3} ι A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1))) α (Finsupp.addCommMonoid.{u2, u3} ι A _inst_1) s (fun (k : α) => f k)) i) (Finset.sum.{u3, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => A) i) α _inst_1 s (fun (k : α) => FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Finsupp.{u2, u3} ι A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => A) _x) (Finsupp.funLike.{u2, u3} ι A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_1))) (f k) i)) Case conversion may be inaccurate. Consider using '#align finset.sum_apply' Finset.sum_apply'ₓ'. -/ diff --git a/Mathbin/Algebra/Lie/NonUnitalNonAssocAlgebra.lean b/Mathbin/Algebra/Lie/NonUnitalNonAssocAlgebra.lean index 1a47d6b849..34c89871b1 100644 --- a/Mathbin/Algebra/Lie/NonUnitalNonAssocAlgebra.lean +++ b/Mathbin/Algebra/Lie/NonUnitalNonAssocAlgebra.lean @@ -42,6 +42,7 @@ universe u v w variable (R : Type u) (L : Type v) [CommRing R] [LieRing L] [LieAlgebra R L] +#print CommutatorRing /- /-- Type synonym for turning a `lie_ring` into a `non_unital_non_assoc_semiring`. A `lie_ring` can be regarded as a `non_unital_non_assoc_semiring` by turning its @@ -49,6 +50,7 @@ A `lie_ring` can be regarded as a `non_unital_non_assoc_semiring` by turning its def CommutatorRing (L : Type v) : Type v := L #align commutator_ring CommutatorRing +-/ /-- A `lie_ring` can be regarded as a `non_unital_non_assoc_semiring` by turning its `has_bracket` (denoted `⁅, ⁆`) into a `has_mul` (denoted `*`). -/ @@ -77,12 +79,24 @@ instance : LieRing (CommutatorRing L) := instance : LieAlgebra R (CommutatorRing L) := show LieAlgebra R L by infer_instance +/- warning: lie_algebra.is_scalar_tower -> LieAlgebra.isScalarTower is a dubious translation: +lean 3 declaration is + forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], IsScalarTower.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (Mul.toSMul.{u2} (CommutatorRing.{u2} L) (Distrib.toHasMul.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toDistrib.{u2} (CommutatorRing.{u2} L) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) +but is expected to have type + forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], IsScalarTower.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toSMulWithZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) +Case conversion may be inaccurate. Consider using '#align lie_algebra.is_scalar_tower LieAlgebra.isScalarTowerₓ'. -/ /-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can reinterpret the `smul_lie` law as an `is_scalar_tower`. -/ instance isScalarTower : IsScalarTower R (CommutatorRing L) (CommutatorRing L) := ⟨smul_lie⟩ #align lie_algebra.is_scalar_tower LieAlgebra.isScalarTower +/- warning: lie_algebra.smul_comm_class -> LieAlgebra.sMulCommClass is a dubious translation: +lean 3 declaration is + forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], SMulCommClass.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (Mul.toSMul.{u2} (CommutatorRing.{u2} L) (Distrib.toHasMul.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toDistrib.{u2} (CommutatorRing.{u2} L) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2)))) +but is expected to have type + forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], SMulCommClass.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toSMulWithZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))))) +Case conversion may be inaccurate. Consider using '#align lie_algebra.smul_comm_class LieAlgebra.sMulCommClassₓ'. -/ /-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can reinterpret the `lie_smul` law as an `smul_comm_class`. -/ instance sMulCommClass : SMulCommClass R (CommutatorRing L) (CommutatorRing L) := @@ -95,6 +109,12 @@ namespace LieHom variable {R L} {L₂ : Type w} [LieRing L₂] [LieAlgebra R L₂] +/- warning: lie_hom.to_non_unital_alg_hom -> LieHom.toNonUnitalAlgHom is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (CommutatorRing.nonUnitalNonAssocSemiring.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (LieRing.toAddCommGroup.{u3} (CommutatorRing.{u3} L₂) (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4))) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5)))) +but is expected to have type + forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4)) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u3} L₂ _inst_4) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5)))) +Case conversion may be inaccurate. Consider using '#align lie_hom.to_non_unital_alg_hom LieHom.toNonUnitalAlgHomₓ'. -/ /-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can regard a `lie_hom` as a `non_unital_alg_hom`. -/ @[simps] @@ -105,6 +125,12 @@ def toNonUnitalAlgHom (f : L →ₗ⁅R⁆ L₂) : CommutatorRing L →ₙₐ[R] map_mul' := f.map_lie } #align lie_hom.to_non_unital_alg_hom LieHom.toNonUnitalAlgHom +/- warning: lie_hom.to_non_unital_alg_hom_injective -> LieHom.toNonUnitalAlgHom_injective is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (CommutatorRing.nonUnitalNonAssocSemiring.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (LieRing.toAddCommGroup.{u3} (CommutatorRing.{u3} L₂) (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4))) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5)))) (LieHom.toNonUnitalAlgHom.{u1, u2, u3} R L _inst_1 _inst_2 _inst_3 L₂ _inst_4 _inst_5) +but is expected to have type + forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4)) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u3} L₂ _inst_4) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5)))) (LieHom.toNonUnitalAlgHom.{u1, u2, u3} R L _inst_1 _inst_2 _inst_3 L₂ _inst_4 _inst_5) +Case conversion may be inaccurate. Consider using '#align lie_hom.to_non_unital_alg_hom_injective LieHom.toNonUnitalAlgHom_injectiveₓ'. -/ theorem toNonUnitalAlgHom_injective : Function.Injective (toNonUnitalAlgHom : _ → CommutatorRing L →ₙₐ[R] CommutatorRing L₂) := fun f g h => ext <| NonUnitalAlgHom.congr_fun h diff --git a/Mathbin/Algebra/MonoidAlgebra/Basic.lean b/Mathbin/Algebra/MonoidAlgebra/Basic.lean index 80601b907c..ce880ab040 100644 --- a/Mathbin/Algebra/MonoidAlgebra/Basic.lean +++ b/Mathbin/Algebra/MonoidAlgebra/Basic.lean @@ -76,7 +76,7 @@ def MonoidAlgebra : Type max u₁ u₂ := #align monoid_algebra MonoidAlgebra instance : CoeFun (MonoidAlgebra k G) fun _ => G → k := - Finsupp.hasCoeToFun + Finsupp.coeFun end @@ -315,7 +315,7 @@ instance [Monoid R] [Monoid S] [Semiring k] [DistribMulAction R k] [DistribMulAc instance [Monoid R] [Monoid S] [Semiring k] [DistribMulAction R k] [DistribMulAction S k] [SMulCommClass R S k] : SMulCommClass R S (MonoidAlgebra k G) := - Finsupp.sMulCommClass G k + Finsupp.smulCommClass G k instance [Monoid R] [Semiring k] [DistribMulAction R k] [DistribMulAction Rᵐᵒᵖ k] [IsCentralScalar R k] : IsCentralScalar R (MonoidAlgebra k G) := @@ -1024,7 +1024,7 @@ def AddMonoidAlgebra := #align add_monoid_algebra AddMonoidAlgebra instance : CoeFun (AddMonoidAlgebra k G) fun _ => G → k := - Finsupp.hasCoeToFun + Finsupp.coeFun end @@ -1268,7 +1268,7 @@ instance [Monoid R] [Monoid S] [Semiring k] [DistribMulAction R k] [DistribMulAc instance [Monoid R] [Monoid S] [Semiring k] [DistribMulAction R k] [DistribMulAction S k] [SMulCommClass R S k] : SMulCommClass R S (AddMonoidAlgebra k G) := - Finsupp.sMulCommClass G k + Finsupp.smulCommClass G k instance [Monoid R] [Semiring k] [DistribMulAction R k] [DistribMulAction Rᵐᵒᵖ k] [IsCentralScalar R k] : IsCentralScalar R (AddMonoidAlgebra k G) := diff --git a/Mathbin/Algebra/Star/StarAlgHom.lean b/Mathbin/Algebra/Star/StarAlgHom.lean index 5469ba0c2a..a7b64b35a0 100644 --- a/Mathbin/Algebra/Star/StarAlgHom.lean +++ b/Mathbin/Algebra/Star/StarAlgHom.lean @@ -49,6 +49,7 @@ non-unital, algebra, morphism, star /-! ### Non-unital star algebra homomorphisms -/ +#print NonUnitalStarAlgHom /- /-- A *non-unital ⋆-algebra homomorphism* is a non-unital algebra homomorphism between non-unital `R`-algebras `A` and `B` equipped with a `star` operation, and this homomorphism is also `star`-preserving. -/ @@ -57,6 +58,7 @@ structure NonUnitalStarAlgHom (R A B : Type _) [Monoid R] [NonUnitalNonAssocSemi [Star B] extends A →ₙₐ[R] B where map_star' : ∀ a : A, to_fun (star a) = star (to_fun a) #align non_unital_star_alg_hom NonUnitalStarAlgHom +-/ -- mathport name: «expr →⋆ₙₐ » infixr:25 " →⋆ₙₐ " => NonUnitalStarAlgHom _ @@ -68,6 +70,7 @@ notation:25 A " →⋆ₙₐ[" R "] " B => NonUnitalStarAlgHom R A B by forgetting the interaction with the star operation. -/ add_decl_doc NonUnitalStarAlgHom.toNonUnitalAlgHom +#print NonUnitalStarAlgHomClass /- /-- `non_unital_star_alg_hom_class F R A B` asserts `F` is a type of bundled non-unital ⋆-algebra homomorphisms from `A` to `B`. -/ class NonUnitalStarAlgHomClass (F : Type _) (R : outParam (Type _)) (A : outParam (Type _)) @@ -75,6 +78,7 @@ class NonUnitalStarAlgHomClass (F : Type _) (R : outParam (Type _)) (A : outPara [NonUnitalNonAssocSemiring B] [DistribMulAction R A] [DistribMulAction R B] extends NonUnitalAlgHomClass F R A B, StarHomClass F A B #align non_unital_star_alg_hom_class NonUnitalStarAlgHomClass +-/ -- `R` becomes a metavariable but that's fine because it's an `out_param` attribute [nolint dangerous_instance] NonUnitalStarAlgHomClass.toStarHomClass @@ -126,21 +130,45 @@ instance : CoeFun (A →⋆ₙₐ[R] B) fun _ => A → B := initialize_simps_projections NonUnitalStarAlgHom (toFun → apply) +/- warning: non_unital_star_alg_hom.coe_coe -> NonUnitalStarAlgHom.coe_coe is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] {F : Type.{u4}} [_inst_14 : NonUnitalStarAlgHomClass.{u4, u1, u2, u3} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6] (f : F), Eq.{max (succ u2) (succ u3)} (A -> B) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) ((fun (a : Type.{u4}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{succ u4, max (succ u2) (succ u3)} a b] => self.0) F (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{succ u4, max (succ u2) (succ u3)} F (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{succ u4, max (succ u2) (succ u3)} F (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHomClass.NonUnitalStarAlgHom.hasCoeT.{u4, u1, u2, u3} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14))) f)) (coeFn.{succ u4, max (succ u2) (succ u3)} F (fun (_x : F) => A -> B) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u3} F A (fun (_x : A) => B) (StarHomClass.toFunLike.{u4, u2, u3} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u4, u1, u2, u3} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 _inst_14))) f) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Monoid.{u3} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u3, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u1} B] [_inst_6 : DistribMulAction.{u3, u1} R B _inst_1 (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))] [_inst_7 : Star.{u1} B] {F : Type.{u4}} [_inst_14 : NonUnitalStarAlgHomClass.{u4, u3, u2, u1} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6] (f : F), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (let src._@.Mathlib.Algebra.Star.StarAlgHom._hyg.1091 : NonUnitalAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 := let src._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1219 : NonUnitalRingHom.{u2, u1} A B _inst_2 _inst_5 := NonUnitalRingHomClass.toNonUnitalRingHom.{u4, u2, u1} F A B _inst_2 _inst_5 (NonUnitalAlgHomClass.toNonUnitalRingHomClass.{u4, u3, u2, u1} F R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (NonUnitalStarAlgHomClass.toNonUnitalAlgHomClass.{u4, u3, u2, u1} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 _inst_14)) f; NonUnitalAlgHom.mk.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (DistribMulActionHom.mk.{u3, u2, u1} R _inst_1 A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_3 B (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5)) _inst_6 (MulActionHom.mk.{u3, u2, u1} R A (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_3))) B (SMulZeroClass.toSMul.{u3, u1} R B (AddMonoid.toZero.{u1} B (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} R B (AddMonoid.toAddZeroClass.{u1} B (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} R B _inst_1 (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5)) _inst_6))) (FunLike.coe.{succ u4, succ u2, succ u1} F A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A) => B) a) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R A B (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u3, u1} R B (AddMonoid.toZero.{u1} B (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} R B (AddMonoid.toAddZeroClass.{u1} B (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} R B _inst_1 (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5)) _inst_6))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5)) _inst_3 _inst_6 (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u4, u3, u2, u1} F R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHomClass.toNonUnitalAlgHomClass.{u4, u3, u2, u1} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 _inst_14)))) f) (NonUnitalStarAlgHomClass.instCoeTCNonUnitalStarAlgHom.proof_1.{u1, u3, u2, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14 f)) (NonUnitalRingHom.map_zero'.{u2, u1} A B _inst_2 _inst_5 src._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1219) (NonUnitalRingHom.map_add'.{u2, u1} A B _inst_2 _inst_5 src._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1219)) (NonUnitalStarAlgHomClass.instCoeTCNonUnitalStarAlgHom.proof_2.{u1, u2, u4, u3} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14 f); NonUnitalStarAlgHom.mk.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (NonUnitalAlgHom.mk.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 (DistribMulActionHom.mk.{u3, u2, u1} R _inst_1 A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_3 B (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5)) _inst_6 (MulActionHom.mk.{u3, u2, u1} R A (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_3))) B (SMulZeroClass.toSMul.{u3, u1} R B (AddMonoid.toZero.{u1} B (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} R B (AddMonoid.toAddZeroClass.{u1} B (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} R B _inst_1 (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5)) _inst_6))) (FunLike.coe.{succ u4, succ u2, succ u1} F A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (StarHomClass.toFunLike.{u4, u2, u1} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u4, u3, u2, u1} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 _inst_14)) f) (NonUnitalStarAlgHomClass.instCoeTCNonUnitalStarAlgHom.proof_3.{u1, u3, u2, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14 f)) (NonUnitalStarAlgHomClass.instCoeTCNonUnitalStarAlgHom.proof_4.{u1, u3, u2, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14 f) (NonUnitalStarAlgHomClass.instCoeTCNonUnitalStarAlgHom.proof_5.{u1, u3, u2, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14 f)) (NonUnitalAlgHom.map_mul'.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 src._@.Mathlib.Algebra.Star.StarAlgHom._hyg.1091)) (NonUnitalStarAlgHomClass.map_star.{u4, u3, u2, u1} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 _inst_14 f))) (FunLike.coe.{succ u4, succ u2, succ u1} F A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{u4, u2, u1} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u4, u3, u2, u1} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 _inst_14)) f) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.coe_coe NonUnitalStarAlgHom.coe_coeₓ'. -/ @[simp, protected] theorem coe_coe {F : Type _} [NonUnitalStarAlgHomClass F R A B] (f : F) : ⇑(f : A →⋆ₙₐ[R] B) = f := rfl #align non_unital_star_alg_hom.coe_coe NonUnitalStarAlgHom.coe_coe +/- warning: non_unital_star_alg_hom.coe_to_non_unital_alg_hom -> NonUnitalStarAlgHom.coe_toNonUnitalAlgHom is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] {f : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Eq.{max (succ u2) (succ u3)} ((fun (_x : NonUnitalAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) => A -> B) (NonUnitalStarAlgHom.toNonUnitalAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (fun (_x : NonUnitalAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) => A -> B) (NonUnitalAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (NonUnitalStarAlgHom.toNonUnitalAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Monoid.{u3} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u3, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u1} B] [_inst_6 : DistribMulAction.{u3, u1} R B _inst_1 (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))] [_inst_7 : Star.{u1} B] {f : NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Eq.{max (succ u2) (succ u1)} (forall (a : A), (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1410 : A) => B) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (NonUnitalAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1410 : A) => B) _x) (NonUnitalAlgHom.instFunLikeNonUnitalAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (NonUnitalStarAlgHom.toNonUnitalAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.coe_to_non_unital_alg_hom NonUnitalStarAlgHom.coe_toNonUnitalAlgHomₓ'. -/ @[simp] theorem coe_toNonUnitalAlgHom {f : A →⋆ₙₐ[R] B} : (f.toNonUnitalAlgHom : A → B) = f := rfl #align non_unital_star_alg_hom.coe_to_non_unital_alg_hom NonUnitalStarAlgHom.coe_toNonUnitalAlgHom +/- warning: non_unital_star_alg_hom.ext -> NonUnitalStarAlgHom.ext is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] {f : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {g : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (forall (x : A), Eq.{succ u3} B (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) g x)) -> (Eq.{max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f g) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Monoid.{u3} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u3, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u1} B] [_inst_6 : DistribMulAction.{u3, u1} R B _inst_1 (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))] [_inst_7 : Star.{u1} B] {f : NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {g : NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (forall (x : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) g x)) -> (Eq.{max (succ u2) (succ u1)} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f g) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.ext NonUnitalStarAlgHom.extₓ'. -/ @[ext] theorem ext {f g : A →⋆ₙₐ[R] B} (h : ∀ x, f x = g x) : f = g := FunLike.ext _ _ h #align non_unital_star_alg_hom.ext NonUnitalStarAlgHom.ext +/- warning: non_unital_star_alg_hom.copy -> NonUnitalStarAlgHom.copy is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] (f : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B), (Eq.{max (succ u2) (succ u3)} (A -> B) f' (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)) -> (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] (f : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B), (Eq.{max (succ u2) (succ u3)} (A -> B) f' (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u3, u2, u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u2 u3, u1, u2, u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f)) -> (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.copy NonUnitalStarAlgHom.copyₓ'. -/ /-- Copy of a `non_unital_star_alg_hom` with a new `to_fun` equal to the old one. Useful to fix definitional equalities. -/ protected def copy (f : A →⋆ₙₐ[R] B) (f' : A → B) (h : f' = f) : A →⋆ₙₐ[R] B @@ -153,11 +181,23 @@ protected def copy (f : A →⋆ₙₐ[R] B) (f' : A → B) (h : f' = f) : A → map_star' := h.symm ▸ map_star f #align non_unital_star_alg_hom.copy NonUnitalStarAlgHom.copy +/- warning: non_unital_star_alg_hom.coe_copy -> NonUnitalStarAlgHom.coe_copy is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] (f : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B) (h : Eq.{max (succ u2) (succ u3)} (A -> B) f' (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)), Eq.{max (succ u2) (succ u3)} (A -> B) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.copy.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) f' +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Monoid.{u3} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u3, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u1} B] [_inst_6 : DistribMulAction.{u3, u1} R B _inst_1 (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))] [_inst_7 : Star.{u1} B] (f : NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B) (h : Eq.{max (succ u2) (succ u1)} (A -> B) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (NonUnitalStarAlgHom.copy.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) f' +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.coe_copy NonUnitalStarAlgHom.coe_copyₓ'. -/ @[simp] theorem coe_copy (f : A →⋆ₙₐ[R] B) (f' : A → B) (h : f' = f) : ⇑(f.copy f' h) = f' := rfl #align non_unital_star_alg_hom.coe_copy NonUnitalStarAlgHom.coe_copy +/- warning: non_unital_star_alg_hom.copy_eq -> NonUnitalStarAlgHom.copy_eq is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] (f : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B) (h : Eq.{max (succ u2) (succ u3)} (A -> B) f' (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)), Eq.{max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.copy.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h) f +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Monoid.{u3} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u3, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u1} B] [_inst_6 : DistribMulAction.{u3, u1} R B _inst_1 (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))] [_inst_7 : Star.{u1} B] (f : NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B) (h : Eq.{max (succ u2) (succ u1)} (A -> B) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f)), Eq.{max (succ u2) (succ u1)} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.copy.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h) f +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.copy_eq NonUnitalStarAlgHom.copy_eqₓ'. -/ theorem copy_eq (f : A →⋆ₙₐ[R] B) (f' : A → B) (h : f' = f) : f.copy f' h = f := FunLike.ext' h #align non_unital_star_alg_hom.copy_eq NonUnitalStarAlgHom.copy_eq @@ -166,24 +206,32 @@ theorem copy_eq (f : A →⋆ₙₐ[R] B) (f' : A → B) (h : f' = f) : f.copy f theorem coe_mk (f : A → B) (h₁ h₂ h₃ h₄ h₅) : ((⟨f, h₁, h₂, h₃, h₄, h₅⟩ : A →⋆ₙₐ[R] B) : A → B) = f := rfl -#align non_unital_star_alg_hom.coe_mk NonUnitalStarAlgHom.coe_mk +#align non_unital_star_alg_hom.coe_mk NonUnitalStarAlgHom.coe_mkₓ @[simp] theorem mk_coe (f : A →⋆ₙₐ[R] B) (h₁ h₂ h₃ h₄ h₅) : (⟨f, h₁, h₂, h₃, h₄, h₅⟩ : A →⋆ₙₐ[R] B) = f := by ext rfl -#align non_unital_star_alg_hom.mk_coe NonUnitalStarAlgHom.mk_coe +#align non_unital_star_alg_hom.mk_coe NonUnitalStarAlgHom.mk_coeₓ section variable (R A) +#print NonUnitalStarAlgHom.id /- /-- The identity as a non-unital ⋆-algebra homomorphism. -/ protected def id : A →⋆ₙₐ[R] A := { (1 : A →ₙₐ[R] A) with map_star' := fun x => rfl } #align non_unital_star_alg_hom.id NonUnitalStarAlgHom.id +-/ +/- warning: non_unital_star_alg_hom.coe_id -> NonUnitalStarAlgHom.coe_id is a dubious translation: +lean 3 declaration is + forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A], Eq.{succ u2} (A -> A) (coeFn.{succ u2, succ u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => A -> A) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (NonUnitalStarAlgHom.id.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)) (id.{succ u2} A) +but is expected to have type + forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => A) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => A) _x) (StarHomClass.toFunLike.{u2, u2, u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) A A _inst_4 _inst_4 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u1, u2, u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) R A A _inst_1 _inst_4 _inst_4 _inst_2 _inst_2 _inst_3 _inst_3 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (NonUnitalStarAlgHom.id.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)) (id.{succ u2} A) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.coe_id NonUnitalStarAlgHom.coe_idₓ'. -/ @[simp] theorem coe_id : ⇑(NonUnitalStarAlgHom.id R A) = id := rfl @@ -191,6 +239,7 @@ theorem coe_id : ⇑(NonUnitalStarAlgHom.id R A) = id := end +#print NonUnitalStarAlgHom.comp /- /-- The composition of non-unital ⋆-algebra homomorphisms, as a non-unital ⋆-algebra homomorphism. -/ def comp (f : B →⋆ₙₐ[R] C) (g : A →⋆ₙₐ[R] B) : A →⋆ₙₐ[R] C := @@ -199,28 +248,59 @@ def comp (f : B →⋆ₙₐ[R] C) (g : A →⋆ₙₐ[R] B) : A →⋆ₙₐ[R] simp only [map_star, NonUnitalAlgHom.toFun_eq_coe, eq_self_iff_true, NonUnitalAlgHom.coe_comp, coe_to_non_unital_alg_hom, Function.comp_apply, forall_const] } #align non_unital_star_alg_hom.comp NonUnitalStarAlgHom.comp +-/ +/- warning: non_unital_star_alg_hom.coe_comp -> NonUnitalStarAlgHom.coe_comp is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u4} C] [_inst_9 : DistribMulAction.{u1, u4} R C _inst_1 (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8))] [_inst_10 : Star.{u4} C] (f : NonUnitalStarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (g : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u4)} (A -> C) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => A -> C) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (NonUnitalStarAlgHom.comp.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) (Function.comp.{succ u2, succ u3, succ u4} A B C (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (NonUnitalStarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (fun (_x : NonUnitalStarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) => B -> C) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) f) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) g)) +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u1}} {B : Type.{u3}} {C : Type.{u2}} [_inst_1 : Monoid.{u4} R] [_inst_2 : NonUnitalNonAssocSemiring.{u1} A] [_inst_3 : DistribMulAction.{u4, u1} R A _inst_1 (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A _inst_2))] [_inst_4 : Star.{u1} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u4, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u2} C] [_inst_9 : DistribMulAction.{u4, u2} R C _inst_1 (AddCommMonoid.toAddMonoid.{u2} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} C _inst_8))] [_inst_10 : Star.{u2} C] (f : NonUnitalStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (g : NonUnitalStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (NonUnitalStarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) _x) (StarHomClass.toFunLike.{max u1 u2, u1, u2} (NonUnitalStarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A C _inst_4 _inst_10 (NonUnitalStarAlgHomClass.toStarHomClass.{max u1 u2, u4, u1, u2} (NonUnitalStarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) R A C _inst_1 _inst_4 _inst_10 _inst_2 _inst_8 _inst_3 _inst_9 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (NonUnitalStarAlgHom.comp.{u4, u1, u3, u2} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) (Function.comp.{succ u1, succ u3, succ u2} A B C (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (NonUnitalStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => C) _x) (StarHomClass.toFunLike.{max u3 u2, u3, u2} (NonUnitalStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) B C _inst_7 _inst_10 (NonUnitalStarAlgHomClass.toStarHomClass.{max u3 u2, u4, u3, u2} (NonUnitalStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) R B C _inst_1 _inst_7 _inst_10 _inst_5 _inst_8 _inst_6 _inst_9 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (NonUnitalStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u1 u3, u1, u3} (NonUnitalStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u1 u3, u4, u1, u3} (NonUnitalStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) g)) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.coe_comp NonUnitalStarAlgHom.coe_compₓ'. -/ @[simp] theorem coe_comp (f : B →⋆ₙₐ[R] C) (g : A →⋆ₙₐ[R] B) : ⇑(comp f g) = f ∘ g := rfl #align non_unital_star_alg_hom.coe_comp NonUnitalStarAlgHom.coe_comp +/- warning: non_unital_star_alg_hom.comp_apply -> NonUnitalStarAlgHom.comp_apply is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u4} C] [_inst_9 : DistribMulAction.{u1, u4} R C _inst_1 (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8))] [_inst_10 : Star.{u4} C] (f : NonUnitalStarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (g : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : A), Eq.{succ u4} C (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => A -> C) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (NonUnitalStarAlgHom.comp.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g) a) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (NonUnitalStarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (fun (_x : NonUnitalStarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) => B -> C) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) g a)) +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u1}} {B : Type.{u3}} {C : Type.{u2}} [_inst_1 : Monoid.{u4} R] [_inst_2 : NonUnitalNonAssocSemiring.{u1} A] [_inst_3 : DistribMulAction.{u4, u1} R A _inst_1 (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A _inst_2))] [_inst_4 : Star.{u1} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u4, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u2} C] [_inst_9 : DistribMulAction.{u4, u2} R C _inst_1 (AddCommMonoid.toAddMonoid.{u2} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} C _inst_8))] [_inst_10 : Star.{u2} C] (f : NonUnitalStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (g : NonUnitalStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (NonUnitalStarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) _x) (StarHomClass.toFunLike.{max u1 u2, u1, u2} (NonUnitalStarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A C _inst_4 _inst_10 (NonUnitalStarAlgHomClass.toStarHomClass.{max u1 u2, u4, u1, u2} (NonUnitalStarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) R A C _inst_1 _inst_4 _inst_10 _inst_2 _inst_8 _inst_3 _inst_9 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (NonUnitalStarAlgHom.comp.{u4, u1, u3, u2} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (NonUnitalStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => C) _x) (StarHomClass.toFunLike.{max u3 u2, u3, u2} (NonUnitalStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) B C _inst_7 _inst_10 (NonUnitalStarAlgHomClass.toStarHomClass.{max u3 u2, u4, u3, u2} (NonUnitalStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) R B C _inst_1 _inst_7 _inst_10 _inst_5 _inst_8 _inst_6 _inst_9 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (NonUnitalStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u1 u3, u1, u3} (NonUnitalStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u1 u3, u4, u1, u3} (NonUnitalStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) g a)) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.comp_apply NonUnitalStarAlgHom.comp_applyₓ'. -/ @[simp] theorem comp_apply (f : B →⋆ₙₐ[R] C) (g : A →⋆ₙₐ[R] B) (a : A) : comp f g a = f (g a) := rfl #align non_unital_star_alg_hom.comp_apply NonUnitalStarAlgHom.comp_apply +/- warning: non_unital_star_alg_hom.comp_assoc -> NonUnitalStarAlgHom.comp_assoc is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} {D : Type.{u5}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u4} C] [_inst_9 : DistribMulAction.{u1, u4} R C _inst_1 (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8))] [_inst_10 : Star.{u4} C] [_inst_11 : NonUnitalNonAssocSemiring.{u5} D] [_inst_12 : DistribMulAction.{u1, u5} R D _inst_1 (AddCommMonoid.toAddMonoid.{u5} D (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} D _inst_11))] [_inst_13 : Star.{u5} D] (f : NonUnitalStarAlgHom.{u1, u4, u5} R C D _inst_1 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13) (g : NonUnitalStarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (h : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u5)} (NonUnitalStarAlgHom.{u1, u2, u5} R A D _inst_1 _inst_2 _inst_3 _inst_4 _inst_11 _inst_12 _inst_13) (NonUnitalStarAlgHom.comp.{u1, u2, u3, u5} R A B D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_11 _inst_12 _inst_13 (NonUnitalStarAlgHom.comp.{u1, u3, u4, u5} R B C D _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f g) h) (NonUnitalStarAlgHom.comp.{u1, u2, u4, u5} R A C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f (NonUnitalStarAlgHom.comp.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 g h)) +but is expected to have type + forall {R : Type.{u5}} {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u4}} {D : Type.{u3}} [_inst_1 : Monoid.{u5} R] [_inst_2 : NonUnitalNonAssocSemiring.{u1} A] [_inst_3 : DistribMulAction.{u5, u1} R A _inst_1 (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A _inst_2))] [_inst_4 : Star.{u1} A] [_inst_5 : NonUnitalNonAssocSemiring.{u2} B] [_inst_6 : DistribMulAction.{u5, u2} R B _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] [_inst_7 : Star.{u2} B] [_inst_8 : NonUnitalNonAssocSemiring.{u4} C] [_inst_9 : DistribMulAction.{u5, u4} R C _inst_1 (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8))] [_inst_10 : Star.{u4} C] [_inst_11 : NonUnitalNonAssocSemiring.{u3} D] [_inst_12 : DistribMulAction.{u5, u3} R D _inst_1 (AddCommMonoid.toAddMonoid.{u3} D (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} D _inst_11))] [_inst_13 : Star.{u3} D] (f : NonUnitalStarAlgHom.{u5, u4, u3} R C D _inst_1 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13) (g : NonUnitalStarAlgHom.{u5, u2, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (h : NonUnitalStarAlgHom.{u5, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u1) (succ u3)} (NonUnitalStarAlgHom.{u5, u1, u3} R A D _inst_1 _inst_2 _inst_3 _inst_4 _inst_11 _inst_12 _inst_13) (NonUnitalStarAlgHom.comp.{u5, u1, u2, u3} R A B D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_11 _inst_12 _inst_13 (NonUnitalStarAlgHom.comp.{u5, u2, u4, u3} R B C D _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f g) h) (NonUnitalStarAlgHom.comp.{u5, u1, u4, u3} R A C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f (NonUnitalStarAlgHom.comp.{u5, u1, u2, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 g h)) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.comp_assoc NonUnitalStarAlgHom.comp_assocₓ'. -/ @[simp] theorem comp_assoc (f : C →⋆ₙₐ[R] D) (g : B →⋆ₙₐ[R] C) (h : A →⋆ₙₐ[R] B) : (f.comp g).comp h = f.comp (g.comp h) := rfl #align non_unital_star_alg_hom.comp_assoc NonUnitalStarAlgHom.comp_assoc +/- warning: non_unital_star_alg_hom.id_comp -> NonUnitalStarAlgHom.id_comp is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] (f : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.comp.{u1, u2, u3, u3} R A B B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7 (NonUnitalStarAlgHom.id.{u1, u3} R B _inst_1 _inst_5 _inst_6 _inst_7) f) f +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Monoid.{u3} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u3, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u1} B] [_inst_6 : DistribMulAction.{u3, u1} R B _inst_1 (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))] [_inst_7 : Star.{u1} B] (f : NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u1)} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.comp.{u3, u2, u1, u1} R A B B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7 (NonUnitalStarAlgHom.id.{u3, u1} R B _inst_1 _inst_5 _inst_6 _inst_7) f) f +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.id_comp NonUnitalStarAlgHom.id_compₓ'. -/ @[simp] theorem id_comp (f : A →⋆ₙₐ[R] B) : (NonUnitalStarAlgHom.id _ _).comp f = f := ext fun _ => rfl #align non_unital_star_alg_hom.id_comp NonUnitalStarAlgHom.id_comp +/- warning: non_unital_star_alg_hom.comp_id -> NonUnitalStarAlgHom.comp_id is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] (f : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.comp.{u1, u2, u2, u3} R A A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f (NonUnitalStarAlgHom.id.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)) f +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Monoid.{u3} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u3, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u1} B] [_inst_6 : DistribMulAction.{u3, u1} R B _inst_1 (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B _inst_5))] [_inst_7 : Star.{u1} B] (f : NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u1)} (NonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.comp.{u3, u2, u2, u1} R A A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f (NonUnitalStarAlgHom.id.{u3, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)) f +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.comp_id NonUnitalStarAlgHom.comp_idₓ'. -/ @[simp] theorem comp_id (f : A →⋆ₙₐ[R] B) : f.comp (NonUnitalStarAlgHom.id _ _) = f := ext fun _ => rfl @@ -233,11 +313,23 @@ instance : Monoid (A →⋆ₙₐ[R] A) where one_mul := id_comp mul_one := comp_id +/- warning: non_unital_star_alg_hom.coe_one -> NonUnitalStarAlgHom.coe_one is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A], Eq.{succ u2} ((fun (_x : NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => A -> A) (OfNat.ofNat.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (OfNat.mk.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.one.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasOne.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (NonUnitalStarAlgHom.monoid.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4))))))) (coeFn.{succ u2, succ u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => A -> A) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (OfNat.ofNat.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (OfNat.mk.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.one.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasOne.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (NonUnitalStarAlgHom.monoid.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4))))))) (id.{succ u2} A) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A], Eq.{succ u2} (forall (a : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => A) a) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => A) _x) (StarHomClass.toFunLike.{u2, u2, u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) A A _inst_4 _inst_4 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u1, u2, u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) R A A _inst_1 _inst_4 _inst_4 _inst_2 _inst_2 _inst_3 _inst_3 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (OfNat.ofNat.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.toOfNat1.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toOne.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (NonUnitalStarAlgHom.instMonoidNonUnitalStarAlgHom.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4))))) (id.{succ u2} A) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.coe_one NonUnitalStarAlgHom.coe_oneₓ'. -/ @[simp] theorem coe_one : ((1 : A →⋆ₙₐ[R] A) : A → A) = id := rfl #align non_unital_star_alg_hom.coe_one NonUnitalStarAlgHom.coe_one +/- warning: non_unital_star_alg_hom.one_apply -> NonUnitalStarAlgHom.one_apply is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] (a : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => A -> A) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (OfNat.ofNat.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (OfNat.mk.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.one.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasOne.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (NonUnitalStarAlgHom.monoid.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)))))) a) a +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] (a : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => A) a) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => A) _x) (StarHomClass.toFunLike.{u2, u2, u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) A A _inst_4 _inst_4 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u1, u2, u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) R A A _inst_1 _inst_4 _inst_4 _inst_2 _inst_2 _inst_3 _inst_3 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (OfNat.ofNat.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.toOfNat1.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toOne.{u2} (NonUnitalStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (NonUnitalStarAlgHom.instMonoidNonUnitalStarAlgHom.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)))) a) a +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.one_apply NonUnitalStarAlgHom.one_applyₓ'. -/ theorem one_apply (a : A) : (1 : A →⋆ₙₐ[R] A) a = a := rfl #align non_unital_star_alg_hom.one_apply NonUnitalStarAlgHom.one_apply @@ -265,11 +357,23 @@ instance : MonoidWithZero (A →⋆ₙₐ[R] A) := zero_mul := fun f => ext fun x => rfl mul_zero := fun f => ext fun x => map_zero f } +/- warning: non_unital_star_alg_hom.coe_zero -> NonUnitalStarAlgHom.coe_zero is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : StarAddMonoid.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : StarAddMonoid.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))], Eq.{max (succ u2) (succ u3)} ((fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) => A -> B) (OfNat.ofNat.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) 0 (OfNat.mk.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) 0 (Zero.zero.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) (NonUnitalStarAlgHom.hasZero.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) (OfNat.ofNat.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) 0 (OfNat.mk.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) 0 (Zero.zero.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) (NonUnitalStarAlgHom.hasZero.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))))) (OfNat.ofNat.{max u2 u3} ((fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) => A -> B) (Zero.zero.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) (NonUnitalStarAlgHom.hasZero.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) 0 (OfNat.mk.{max u2 u3} ((fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) => A -> B) (Zero.zero.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) (NonUnitalStarAlgHom.hasZero.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) 0 (Zero.zero.{max u2 u3} ((fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) => A -> B) (Zero.zero.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) (NonUnitalStarAlgHom.hasZero.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (Pi.instZero.{u2, u3} A (fun (ᾰ : A) => B) (fun (i : A) => MulZeroClass.toHasZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)))))) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u3}} {B : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u1, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : StarAddMonoid.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u2} B] [_inst_6 : DistribMulAction.{u1, u2} R B _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] [_inst_7 : StarAddMonoid.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))], Eq.{max (succ u3) (succ u2)} (forall (a : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (NonUnitalStarAlgHom.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u3 u2, u3, u2} (NonUnitalStarAlgHom.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (NonUnitalStarAlgHomClass.toStarHomClass.{max u3 u2, u1, u3, u2} (NonUnitalStarAlgHom.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) R A B _inst_1 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))))) (OfNat.ofNat.{max u3 u2} (NonUnitalStarAlgHom.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) 0 (Zero.toOfNat0.{max u3 u2} (NonUnitalStarAlgHom.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) (NonUnitalStarAlgHom.instZeroNonUnitalStarAlgHomToStarToInvolutiveStarToAddMonoidToAddCommMonoidToStarToInvolutiveStarToAddMonoidToAddCommMonoid.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (OfNat.ofNat.{max u3 u2} (forall (a : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) 0 (Zero.toOfNat0.{max u3 u2} (forall (a : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (Pi.instZero.{u3, u2} A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (fun (i : A) => MulZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) i) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) i) _inst_5))))) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.coe_zero NonUnitalStarAlgHom.coe_zeroₓ'. -/ @[simp] theorem coe_zero : ((0 : A →⋆ₙₐ[R] B) : A → B) = 0 := rfl #align non_unital_star_alg_hom.coe_zero NonUnitalStarAlgHom.coe_zero +/- warning: non_unital_star_alg_hom.zero_apply -> NonUnitalStarAlgHom.zero_apply is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : StarAddMonoid.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : StarAddMonoid.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] (a : A), Eq.{succ u3} B (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) (OfNat.ofNat.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) 0 (OfNat.mk.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) 0 (Zero.zero.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) (NonUnitalStarAlgHom.hasZero.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) a) (OfNat.ofNat.{u3} B 0 (OfNat.mk.{u3} B 0 (Zero.zero.{u3} B (MulZeroClass.toHasZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5))))) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : StarAddMonoid.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : StarAddMonoid.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] (a : A), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u2} A (StarAddMonoid.toInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u3} B (StarAddMonoid.toInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u3, u2, u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u2} A (StarAddMonoid.toInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u3} B (StarAddMonoid.toInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) A B (InvolutiveStar.toStar.{u2} A (StarAddMonoid.toInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u3} B (StarAddMonoid.toInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)) (NonUnitalStarAlgHomClass.toStarHomClass.{max u2 u3, u1, u2, u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u2} A (StarAddMonoid.toInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u3} B (StarAddMonoid.toInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) R A B _inst_1 (InvolutiveStar.toStar.{u2} A (StarAddMonoid.toInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u3} B (StarAddMonoid.toInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)) _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u2} A (StarAddMonoid.toInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u3} B (StarAddMonoid.toInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))))) (OfNat.ofNat.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u2} A (StarAddMonoid.toInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u3} B (StarAddMonoid.toInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) 0 (Zero.toOfNat0.{max u2 u3} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u2} A (StarAddMonoid.toInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) _inst_5 _inst_6 (InvolutiveStar.toStar.{u3} B (StarAddMonoid.toInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) (NonUnitalStarAlgHom.instZeroNonUnitalStarAlgHomToStarToInvolutiveStarToAddMonoidToAddCommMonoidToStarToInvolutiveStarToAddMonoidToAddCommMonoid.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) a) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (MulZeroClass.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) _inst_5)))) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.zero_apply NonUnitalStarAlgHom.zero_applyₓ'. -/ theorem zero_apply (a : A) : (0 : A →⋆ₙₐ[R] B) a = 0 := rfl #align non_unital_star_alg_hom.zero_apply NonUnitalStarAlgHom.zero_apply @@ -283,12 +387,14 @@ end NonUnitalStarAlgHom section Unital +#print StarAlgHom /- /-- A *⋆-algebra homomorphism* is an algebra homomorphism between `R`-algebras `A` and `B` equipped with a `star` operation, and this homomorphism is also `star`-preserving. -/ structure StarAlgHom (R A B : Type _) [CommSemiring R] [Semiring A] [Algebra R A] [Star A] [Semiring B] [Algebra R B] [Star B] extends AlgHom R A B where map_star' : ∀ x : A, to_fun (star x) = star (to_fun x) #align star_alg_hom StarAlgHom +-/ -- mathport name: «expr →⋆ₐ » infixr:25 " →⋆ₐ " => StarAlgHom _ @@ -300,6 +406,7 @@ notation:25 A " →⋆ₐ[" R "] " B => StarAlgHom R A B by forgetting the interaction with the star operation. -/ add_decl_doc StarAlgHom.toAlgHom +#print StarAlgHomClass /- /-- `star_alg_hom_class F R A B` states that `F` is a type of ⋆-algebra homomorphisms. You should also extend this typeclass when you extend `star_alg_hom`. -/ @@ -307,6 +414,7 @@ class StarAlgHomClass (F : Type _) (R : outParam (Type _)) (A : outParam (Type _ (B : outParam (Type _)) [CommSemiring R] [Semiring A] [Algebra R A] [Star A] [Semiring B] [Algebra R B] [Star B] extends AlgHomClass F R A B, StarHomClass F A B #align star_alg_hom_class StarAlgHomClass +-/ -- `R` becomes a metavariable but that's fine because it's an `out_param` attribute [nolint dangerous_instance] StarAlgHomClass.toStarHomClass @@ -319,11 +427,13 @@ variable [Semiring B] [Algebra R B] [Star B] [hF : StarAlgHomClass F R A B] include hF +#print StarAlgHomClass.toNonUnitalStarAlgHomClass /- -- See note [lower instance priority] instance (priority := 100) toNonUnitalStarAlgHomClass : NonUnitalStarAlgHomClass F R A B := { StarAlgHomClass.toAlgHomClass F R A B, StarAlgHomClass.toStarHomClass F R A B with map_smul := map_smul } #align star_alg_hom_class.to_non_unital_star_alg_hom_class StarAlgHomClass.toNonUnitalStarAlgHomClass +-/ instance : CoeTC F (A →⋆ₐ[R] B) where coe f := @@ -355,6 +465,12 @@ directly. -/ instance : CoeFun (A →⋆ₐ[R] B) fun _ => A → B := FunLike.hasCoeToFun +/- warning: star_alg_hom.coe_coe -> StarAlgHom.coe_coe is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] {F : Type.{u4}} [_inst_14 : StarAlgHomClass.{u4, u1, u2, u3} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7] (f : F), Eq.{max (succ u2) (succ u3)} (A -> B) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) ((fun (a : Type.{u4}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{succ u4, max (succ u2) (succ u3)} a b] => self.0) F (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{succ u4, max (succ u2) (succ u3)} F (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{succ u4, max (succ u2) (succ u3)} F (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHomClass.StarAlgHom.hasCoeT.{u4, u1, u2, u3} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14))) f)) (coeFn.{succ u4, max (succ u2) (succ u3)} F (fun (_x : F) => A -> B) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u3} F A (fun (_x : A) => B) (StarHomClass.toFunLike.{u4, u2, u3} F A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{u4, u1, u2, u3} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14))) f) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u3, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u1} B] [_inst_6 : Algebra.{u3, u1} R B _inst_1 _inst_5] [_inst_7 : Star.{u1} B] {F : Type.{u4}} [_inst_14 : StarAlgHomClass.{u4, u3, u2, u1} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7] (f : F), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (let src._@.Mathlib.Algebra.Star.StarAlgHom._hyg.4591 : AlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6 := AlgHomClass.toAlgHom.{u3, u2, u1, u4} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6 F (StarAlgHomClass.toAlgHomClass.{u4, u3, u2, u1} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14) f; StarAlgHom.mk.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AlgHom.mk.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6 (RingHom.mk.{u2, u1} A B (Semiring.toNonAssocSemiring.{u2} A _inst_2) (Semiring.toNonAssocSemiring.{u1} B _inst_5) (MonoidHom.mk.{u2, u1} A B (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (MulZeroOneClass.toMulOneClass.{u1} B (NonAssocSemiring.toMulZeroOneClass.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5))) (OneHom.mk.{u2, u1} A B (MulOneClass.toOne.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (MulOneClass.toOne.{u1} B (MulZeroOneClass.toMulOneClass.{u1} B (NonAssocSemiring.toMulZeroOneClass.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5)))) (FunLike.coe.{succ u4, succ u2, succ u1} F A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (StarHomClass.toFunLike.{u4, u2, u1} F A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{u4, u3, u2, u1} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14)) f) (StarAlgHomClass.instCoeTCStarAlgHom.proof_1.{u1, u2, u3, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14 f)) (StarAlgHomClass.instCoeTCStarAlgHom.proof_2.{u1, u2, u3, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14 f)) (StarAlgHomClass.instCoeTCStarAlgHom.proof_3.{u1, u2, u3, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14 f) (StarAlgHomClass.instCoeTCStarAlgHom.proof_4.{u1, u2, u3, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14 f)) (AlgHom.commutes'.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6 src._@.Mathlib.Algebra.Star.StarAlgHom._hyg.4591)) (StarAlgHomClass.map_star.{u4, u3, u2, u1} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14 f))) (FunLike.coe.{succ u4, succ u2, succ u1} F A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{u4, u2, u1} F A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{u4, u3, u2, u1} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_14)) f) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.coe_coe StarAlgHom.coe_coeₓ'. -/ @[simp, protected] theorem coe_coe {F : Type _} [StarAlgHomClass F R A B] (f : F) : ⇑(f : A →⋆ₐ[R] B) = f := rfl @@ -362,16 +478,34 @@ theorem coe_coe {F : Type _} [StarAlgHomClass F R A B] (f : F) : ⇑(f : A → initialize_simps_projections StarAlgHom (toFun → apply) +/- warning: star_alg_hom.coe_to_alg_hom -> StarAlgHom.coe_toAlgHom is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] {f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Eq.{max (succ u2) (succ u3)} ((fun (_x : AlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6) => A -> B) (StarAlgHom.toAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6) (fun (_x : AlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6) => A -> B) ([anonymous].{u1, u2, u3} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6) (StarAlgHom.toAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u3, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u1} B] [_inst_6 : Algebra.{u3, u1} R B _inst_1 _inst_5] [_inst_7 : Star.{u1} B] {f : StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Eq.{max (succ u2) (succ u1)} (forall (a : A), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A) => B) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : A) => B) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (AlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6) R A B (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (DistribMulAction.toDistribSMul.{u3, u2} R A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u3, u1} R B (AddMonoid.toZero.{u1} B (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5))))) (DistribSMul.toSMulZeroClass.{u3, u1} R B (AddMonoid.toAddZeroClass.{u1} B (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5))))) (DistribMulAction.toDistribSMul.{u3, u1} R B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5)))) (Module.toDistribMulAction.{u3, u1} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5))) (Algebra.toModule.{u3, u1} R B _inst_1 _inst_5 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (AlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6) R A B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u3, u1} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5))) (Algebra.toModule.{u3, u1} R B _inst_1 _inst_5 _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u3, u2, u1} (AlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6) R A B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5)) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u3, u1} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5))) (Algebra.toModule.{u3, u1} R B _inst_1 _inst_5 _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, u2, u1, max u2 u1} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6 (AlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6) (AlgHom.algHomClass.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_5 _inst_3 _inst_6))))) (StarAlgHom.toAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.coe_to_alg_hom StarAlgHom.coe_toAlgHomₓ'. -/ @[simp] theorem coe_toAlgHom {f : A →⋆ₐ[R] B} : (f.toAlgHom : A → B) = f := rfl #align star_alg_hom.coe_to_alg_hom StarAlgHom.coe_toAlgHom +/- warning: star_alg_hom.ext -> StarAlgHom.ext is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] {f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {g : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (forall (x : A), Eq.{succ u3} B (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) g x)) -> (Eq.{max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f g) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u3, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u1} B] [_inst_6 : Algebra.{u3, u1} R B _inst_1 _inst_5] [_inst_7 : Star.{u1} B] {f : StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {g : StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (forall (x : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) g x)) -> (Eq.{max (succ u2) (succ u1)} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f g) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.ext StarAlgHom.extₓ'. -/ @[ext] theorem ext {f g : A →⋆ₐ[R] B} (h : ∀ x, f x = g x) : f = g := FunLike.ext _ _ h #align star_alg_hom.ext StarAlgHom.ext +/- warning: star_alg_hom.copy -> StarAlgHom.copy is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] (f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B), (Eq.{max (succ u2) (succ u3)} (A -> B) f' (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)) -> (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] (f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B), (Eq.{max (succ u2) (succ u3)} (A -> B) f' (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u3, u2, u3} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u2 u3, u1, u2, u3} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f)) -> (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.copy StarAlgHom.copyₓ'. -/ /-- Copy of a `star_alg_hom` with a new `to_fun` equal to the old one. Useful to fix definitional equalities. -/ protected def copy (f : A →⋆ₐ[R] B) (f' : A → B) (h : f' = f) : A →⋆ₐ[R] B @@ -385,11 +519,23 @@ protected def copy (f : A →⋆ₐ[R] B) (f' : A → B) (h : f' = f) : A →⋆ map_star' := h.symm ▸ map_star f #align star_alg_hom.copy StarAlgHom.copy +/- warning: star_alg_hom.coe_copy -> StarAlgHom.coe_copy is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] (f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B) (h : Eq.{max (succ u2) (succ u3)} (A -> B) f' (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)), Eq.{max (succ u2) (succ u3)} (A -> B) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.copy.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) f' +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u3, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u1} B] [_inst_6 : Algebra.{u3, u1} R B _inst_1 _inst_5] [_inst_7 : Star.{u1} B] (f : StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B) (h : Eq.{max (succ u2) (succ u1)} (A -> B) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (StarAlgHom.copy.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) f' +Case conversion may be inaccurate. Consider using '#align star_alg_hom.coe_copy StarAlgHom.coe_copyₓ'. -/ @[simp] theorem coe_copy (f : A →⋆ₐ[R] B) (f' : A → B) (h : f' = f) : ⇑(f.copy f' h) = f' := rfl #align star_alg_hom.coe_copy StarAlgHom.coe_copy +/- warning: star_alg_hom.copy_eq -> StarAlgHom.copy_eq is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] (f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B) (h : Eq.{max (succ u2) (succ u3)} (A -> B) f' (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)), Eq.{max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.copy.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h) f +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u3, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u1} B] [_inst_6 : Algebra.{u3, u1} R B _inst_1 _inst_5] [_inst_7 : Star.{u1} B] (f : StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (f' : A -> B) (h : Eq.{max (succ u2) (succ u1)} (A -> B) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f)), Eq.{max (succ u2) (succ u1)} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.copy.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h) f +Case conversion may be inaccurate. Consider using '#align star_alg_hom.copy_eq StarAlgHom.copy_eqₓ'. -/ theorem copy_eq (f : A →⋆ₐ[R] B) (f' : A → B) (h : f' = f) : f.copy f' h = f := FunLike.ext' h #align star_alg_hom.copy_eq StarAlgHom.copy_eq @@ -398,7 +544,7 @@ theorem copy_eq (f : A →⋆ₐ[R] B) (f' : A → B) (h : f' = f) : f.copy f' h theorem coe_mk (f : A → B) (h₁ h₂ h₃ h₄ h₅ h₆) : ((⟨f, h₁, h₂, h₃, h₄, h₅, h₆⟩ : A →⋆ₐ[R] B) : A → B) = f := rfl -#align star_alg_hom.coe_mk StarAlgHom.coe_mk +#align star_alg_hom.coe_mk StarAlgHom.coe_mkₓ @[simp] theorem mk_coe (f : A →⋆ₐ[R] B) (h₁ h₂ h₃ h₄ h₅ h₆) : @@ -406,17 +552,25 @@ theorem mk_coe (f : A →⋆ₐ[R] B) (h₁ h₂ h₃ h₄ h₅ h₆) : by ext rfl -#align star_alg_hom.mk_coe StarAlgHom.mk_coe +#align star_alg_hom.mk_coe StarAlgHom.mk_coeₓ section variable (R A) +#print StarAlgHom.id /- /-- The identity as a `star_alg_hom`. -/ protected def id : A →⋆ₐ[R] A := { AlgHom.id _ _ with map_star' := fun x => rfl } #align star_alg_hom.id StarAlgHom.id +-/ +/- warning: star_alg_hom.coe_id -> StarAlgHom.coe_id is a dubious translation: +lean 3 declaration is + forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A], Eq.{succ u2} (A -> A) (coeFn.{succ u2, succ u2} (StarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : StarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => A -> A) (StarAlgHom.hasCoeToFun.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (StarAlgHom.id.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)) (id.{succ u2} A) +but is expected to have type + forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => A) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (StarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => A) _x) (StarHomClass.toFunLike.{u2, u2, u2} (StarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) A A _inst_4 _inst_4 (StarAlgHomClass.toStarHomClass.{u2, u1, u2, u2} (StarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (StarAlgHom.id.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)) (id.{succ u2} A) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.coe_id StarAlgHom.coe_idₓ'. -/ @[simp] theorem coe_id : ⇑(StarAlgHom.id R A) = id := rfl @@ -427,6 +581,7 @@ end instance : Inhabited (A →⋆ₐ[R] A) := ⟨StarAlgHom.id R A⟩ +#print StarAlgHom.comp /- /-- The composition of ⋆-algebra homomorphisms, as a ⋆-algebra homomorphism. -/ def comp (f : B →⋆ₐ[R] C) (g : A →⋆ₐ[R] B) : A →⋆ₐ[R] C := { f.toAlgHom.comp g.toAlgHom with @@ -434,28 +589,59 @@ def comp (f : B →⋆ₐ[R] C) (g : A →⋆ₐ[R] B) : A →⋆ₐ[R] C := simp only [map_star, AlgHom.toFun_eq_coe, AlgHom.coe_comp, coe_to_alg_hom, Function.comp_apply, eq_self_iff_true, forall_const] } #align star_alg_hom.comp StarAlgHom.comp +-/ +/- warning: star_alg_hom.coe_comp -> StarAlgHom.coe_comp is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u4} C] [_inst_9 : Algebra.{u1, u4} R C _inst_1 _inst_8] [_inst_10 : Star.{u4} C] (f : StarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (g : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u4)} (A -> C) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => A -> C) (StarAlgHom.hasCoeToFun.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (StarAlgHom.comp.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) (Function.comp.{succ u2, succ u3, succ u4} A B C (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (StarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (fun (_x : StarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) => B -> C) (StarAlgHom.hasCoeToFun.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) f) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) g)) +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u1}} {B : Type.{u3}} {C : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] [_inst_2 : Semiring.{u1} A] [_inst_3 : Algebra.{u4, u1} R A _inst_1 _inst_2] [_inst_4 : Star.{u1} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u4, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u2} C] [_inst_9 : Algebra.{u4, u2} R C _inst_1 _inst_8] [_inst_10 : Star.{u2} C] (f : StarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (g : StarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (StarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) _x) (StarHomClass.toFunLike.{max u1 u2, u1, u2} (StarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A C _inst_4 _inst_10 (StarAlgHomClass.toStarHomClass.{max u1 u2, u4, u1, u2} (StarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (StarAlgHom.comp.{u4, u1, u3, u2} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) (Function.comp.{succ u1, succ u3, succ u2} A B C (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (StarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => C) _x) (StarHomClass.toFunLike.{max u3 u2, u3, u2} (StarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) B C _inst_7 _inst_10 (StarAlgHomClass.toStarHomClass.{max u3 u2, u4, u3, u2} (StarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (StarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u1 u3, u1, u3} (StarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u1 u3, u4, u1, u3} (StarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) g)) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.coe_comp StarAlgHom.coe_compₓ'. -/ @[simp] theorem coe_comp (f : B →⋆ₐ[R] C) (g : A →⋆ₐ[R] B) : ⇑(comp f g) = f ∘ g := rfl #align star_alg_hom.coe_comp StarAlgHom.coe_comp +/- warning: star_alg_hom.comp_apply -> StarAlgHom.comp_apply is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u4} C] [_inst_9 : Algebra.{u1, u4} R C _inst_1 _inst_8] [_inst_10 : Star.{u4} C] (f : StarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (g : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : A), Eq.{succ u4} C (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => A -> C) (StarAlgHom.hasCoeToFun.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (StarAlgHom.comp.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g) a) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (StarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (fun (_x : StarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) => B -> C) (StarAlgHom.hasCoeToFun.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) g a)) +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u1}} {B : Type.{u3}} {C : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] [_inst_2 : Semiring.{u1} A] [_inst_3 : Algebra.{u4, u1} R A _inst_1 _inst_2] [_inst_4 : Star.{u1} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u4, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u2} C] [_inst_9 : Algebra.{u4, u2} R C _inst_1 _inst_8] [_inst_10 : Star.{u2} C] (f : StarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (g : StarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (StarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) _x) (StarHomClass.toFunLike.{max u1 u2, u1, u2} (StarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A C _inst_4 _inst_10 (StarAlgHomClass.toStarHomClass.{max u1 u2, u4, u1, u2} (StarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u4, u1, u2} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (StarAlgHom.comp.{u4, u1, u3, u2} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (StarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => C) _x) (StarHomClass.toFunLike.{max u3 u2, u3, u2} (StarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) B C _inst_7 _inst_10 (StarAlgHomClass.toStarHomClass.{max u3 u2, u4, u3, u2} (StarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u4, u3, u2} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (StarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u1 u3, u1, u3} (StarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u1 u3, u4, u1, u3} (StarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u4, u1, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) g a)) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.comp_apply StarAlgHom.comp_applyₓ'. -/ @[simp] theorem comp_apply (f : B →⋆ₐ[R] C) (g : A →⋆ₐ[R] B) (a : A) : comp f g a = f (g a) := rfl #align star_alg_hom.comp_apply StarAlgHom.comp_apply +/- warning: star_alg_hom.comp_assoc -> StarAlgHom.comp_assoc is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} {D : Type.{u5}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u4} C] [_inst_9 : Algebra.{u1, u4} R C _inst_1 _inst_8] [_inst_10 : Star.{u4} C] [_inst_11 : Semiring.{u5} D] [_inst_12 : Algebra.{u1, u5} R D _inst_1 _inst_11] [_inst_13 : Star.{u5} D] (f : StarAlgHom.{u1, u4, u5} R C D _inst_1 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13) (g : StarAlgHom.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (h : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u5)} (StarAlgHom.{u1, u2, u5} R A D _inst_1 _inst_2 _inst_3 _inst_4 _inst_11 _inst_12 _inst_13) (StarAlgHom.comp.{u1, u2, u3, u5} R A B D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_11 _inst_12 _inst_13 (StarAlgHom.comp.{u1, u3, u4, u5} R B C D _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f g) h) (StarAlgHom.comp.{u1, u2, u4, u5} R A C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f (StarAlgHom.comp.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 g h)) +but is expected to have type + forall {R : Type.{u5}} {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u4}} {D : Type.{u3}} [_inst_1 : CommSemiring.{u5} R] [_inst_2 : Semiring.{u1} A] [_inst_3 : Algebra.{u5, u1} R A _inst_1 _inst_2] [_inst_4 : Star.{u1} A] [_inst_5 : Semiring.{u2} B] [_inst_6 : Algebra.{u5, u2} R B _inst_1 _inst_5] [_inst_7 : Star.{u2} B] [_inst_8 : Semiring.{u4} C] [_inst_9 : Algebra.{u5, u4} R C _inst_1 _inst_8] [_inst_10 : Star.{u4} C] [_inst_11 : Semiring.{u3} D] [_inst_12 : Algebra.{u5, u3} R D _inst_1 _inst_11] [_inst_13 : Star.{u3} D] (f : StarAlgHom.{u5, u4, u3} R C D _inst_1 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13) (g : StarAlgHom.{u5, u2, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (h : StarAlgHom.{u5, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u1) (succ u3)} (StarAlgHom.{u5, u1, u3} R A D _inst_1 _inst_2 _inst_3 _inst_4 _inst_11 _inst_12 _inst_13) (StarAlgHom.comp.{u5, u1, u2, u3} R A B D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_11 _inst_12 _inst_13 (StarAlgHom.comp.{u5, u2, u4, u3} R B C D _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f g) h) (StarAlgHom.comp.{u5, u1, u4, u3} R A C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f (StarAlgHom.comp.{u5, u1, u2, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 g h)) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.comp_assoc StarAlgHom.comp_assocₓ'. -/ @[simp] theorem comp_assoc (f : C →⋆ₐ[R] D) (g : B →⋆ₐ[R] C) (h : A →⋆ₐ[R] B) : (f.comp g).comp h = f.comp (g.comp h) := rfl #align star_alg_hom.comp_assoc StarAlgHom.comp_assoc +/- warning: star_alg_hom.id_comp -> StarAlgHom.id_comp is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] (f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.comp.{u1, u2, u3, u3} R A B B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7 (StarAlgHom.id.{u1, u3} R B _inst_1 _inst_5 _inst_6 _inst_7) f) f +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u3, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u1} B] [_inst_6 : Algebra.{u3, u1} R B _inst_1 _inst_5] [_inst_7 : Star.{u1} B] (f : StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u1)} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.comp.{u3, u2, u1, u1} R A B B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7 (StarAlgHom.id.{u3, u1} R B _inst_1 _inst_5 _inst_6 _inst_7) f) f +Case conversion may be inaccurate. Consider using '#align star_alg_hom.id_comp StarAlgHom.id_compₓ'. -/ @[simp] theorem id_comp (f : A →⋆ₐ[R] B) : (StarAlgHom.id _ _).comp f = f := ext fun _ => rfl #align star_alg_hom.id_comp StarAlgHom.id_comp +/- warning: star_alg_hom.comp_id -> StarAlgHom.comp_id is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] (f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.comp.{u1, u2, u2, u3} R A A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f (StarAlgHom.id.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)) f +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u3, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u1} B] [_inst_6 : Algebra.{u3, u1} R B _inst_1 _inst_5] [_inst_7 : Star.{u1} B] (f : StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u1)} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.comp.{u3, u2, u2, u1} R A A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f (StarAlgHom.id.{u3, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)) f +Case conversion may be inaccurate. Consider using '#align star_alg_hom.comp_id StarAlgHom.comp_idₓ'. -/ @[simp] theorem comp_id (f : A →⋆ₐ[R] B) : f.comp (StarAlgHom.id _ _) = f := ext fun _ => rfl @@ -468,11 +654,19 @@ instance : Monoid (A →⋆ₐ[R] A) where one_mul := id_comp mul_one := comp_id +#print StarAlgHom.toNonUnitalStarAlgHom /- /-- A unital morphism of ⋆-algebras is a `non_unital_star_alg_hom`. -/ def toNonUnitalStarAlgHom (f : A →⋆ₐ[R] B) : A →⋆ₙₐ[R] B := { f with map_smul' := map_smul f } #align star_alg_hom.to_non_unital_star_alg_hom StarAlgHom.toNonUnitalStarAlgHom +-/ +/- warning: star_alg_hom.coe_to_non_unital_star_alg_hom -> StarAlgHom.coe_toNonUnitalStarAlgHom is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] (f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} ((fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_4 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_5)) (Module.toDistribMulAction.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_5))) (Algebra.toModule.{u1, u3} R B _inst_1 _inst_5 _inst_6)) _inst_7) => A -> B) (StarAlgHom.toNonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_4 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_5)) (Module.toDistribMulAction.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_5))) (Algebra.toModule.{u1, u3} R B _inst_1 _inst_5 _inst_6)) _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_4 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_5)) (Module.toDistribMulAction.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_5))) (Algebra.toModule.{u1, u3} R B _inst_1 _inst_5 _inst_6)) _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_4 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_5)) (Module.toDistribMulAction.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B _inst_5))) (Algebra.toModule.{u1, u3} R B _inst_1 _inst_5 _inst_6)) _inst_7) (StarAlgHom.toNonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u3, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u1} B] [_inst_6 : Algebra.{u3, u1} R B _inst_1 _inst_5] [_inst_7 : Star.{u1} B] (f : StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u1)} (forall (a : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_2 _inst_3)) _inst_4 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5)) (Module.toDistribMulAction.{u3, u1} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5))) (Algebra.toModule.{u3, u1} R B _inst_1 _inst_5 _inst_6)) _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_2 _inst_3)) _inst_4 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5)) (Module.toDistribMulAction.{u3, u1} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5))) (Algebra.toModule.{u3, u1} R B _inst_1 _inst_5 _inst_6)) _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (NonUnitalStarAlgHom.{u3, u2, u1} R A B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_2 _inst_3)) _inst_4 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5)) (Module.toDistribMulAction.{u3, u1} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5))) (Algebra.toModule.{u3, u1} R B _inst_1 _inst_5 _inst_6)) _inst_7) R A B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_4 _inst_7 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5)) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u3, u1} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5))) (Algebra.toModule.{u3, u1} R B _inst_1 _inst_5 _inst_6)) (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u3, u2, u1} R A B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_2 _inst_3)) _inst_4 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5)) (Module.toDistribMulAction.{u3, u1} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B _inst_5))) (Algebra.toModule.{u3, u1} R B _inst_1 _inst_5 _inst_6)) _inst_7))) (StarAlgHom.toNonUnitalStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.coe_to_non_unital_star_alg_hom StarAlgHom.coe_toNonUnitalStarAlgHomₓ'. -/ @[simp] theorem coe_toNonUnitalStarAlgHom (f : A →⋆ₐ[R] B) : (f.toNonUnitalStarAlgHom : A → B) = f := rfl @@ -495,12 +689,24 @@ variable (R A B C : Type _) [Monoid R] [NonUnitalNonAssocSemiring A] [DistribMul [NonUnitalNonAssocSemiring B] [DistribMulAction R B] [Star B] [NonUnitalNonAssocSemiring C] [DistribMulAction R C] [Star C] +/- warning: non_unital_star_alg_hom.fst -> NonUnitalStarAlgHom.fst is a dubious translation: +lean 3 declaration is + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B], NonUnitalStarAlgHom.{u1, max u2 u3, u2} R (Prod.{u2, u3} A B) A _inst_1 (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) _inst_2 _inst_3 _inst_4 +but is expected to have type + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B], NonUnitalStarAlgHom.{u1, max u3 u2, u2} R (Prod.{u2, u3} A B) A _inst_1 (Prod.instNonUnitalNonAssocSemiringProd.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u2, u3} A B _inst_4 _inst_7) _inst_2 _inst_3 _inst_4 +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.fst NonUnitalStarAlgHom.fstₓ'. -/ /-- The first projection of a product is a non-unital ⋆-algebra homomoprhism. -/ @[simps] def fst : A × B →⋆ₙₐ[R] A := { NonUnitalAlgHom.fst R A B with map_star' := fun x => rfl } #align non_unital_star_alg_hom.fst NonUnitalStarAlgHom.fst +/- warning: non_unital_star_alg_hom.snd -> NonUnitalStarAlgHom.snd is a dubious translation: +lean 3 declaration is + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B], NonUnitalStarAlgHom.{u1, max u2 u3, u3} R (Prod.{u2, u3} A B) B _inst_1 (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) _inst_5 _inst_6 _inst_7 +but is expected to have type + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B], NonUnitalStarAlgHom.{u1, max u3 u2, u3} R (Prod.{u2, u3} A B) B _inst_1 (Prod.instNonUnitalNonAssocSemiringProd.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u2, u3} A B _inst_4 _inst_7) _inst_5 _inst_6 _inst_7 +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.snd NonUnitalStarAlgHom.sndₓ'. -/ /-- The second projection of a product is a non-unital ⋆-algebra homomorphism. -/ @[simps] def snd : A × B →⋆ₙₐ[R] B := @@ -509,6 +715,12 @@ def snd : A × B →⋆ₙₐ[R] B := variable {R A B C} +/- warning: non_unital_star_alg_hom.prod -> NonUnitalStarAlgHom.prod is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u4} C] [_inst_9 : DistribMulAction.{u1, u4} R C _inst_1 (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8))] [_inst_10 : Star.{u4} C], (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) -> (NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) -> (NonUnitalStarAlgHom.{u1, u2, max u3 u4} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.nonUnitalNonAssocSemiring.{u3, u4} B C _inst_5 _inst_8) (Prod.distribMulAction.{u1, u3, u4} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8)) _inst_6 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10)) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u4} C] [_inst_9 : DistribMulAction.{u1, u4} R C _inst_1 (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8))] [_inst_10 : Star.{u4} C], (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) -> (NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) -> (NonUnitalStarAlgHom.{u1, u2, max u4 u3} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u4} B C _inst_5 _inst_8) (Prod.distribMulAction.{u1, u3, u4} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8)) _inst_6 _inst_9) (Prod.instStarProd.{u3, u4} B C _inst_7 _inst_10)) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.prod NonUnitalStarAlgHom.prodₓ'. -/ /-- The `pi.prod` of two morphisms is a morphism. -/ @[simps] def prod (f : A →⋆ₙₐ[R] B) (g : A →⋆ₙₐ[R] C) : A →⋆ₙₐ[R] B × C := @@ -516,25 +728,55 @@ def prod (f : A →⋆ₙₐ[R] B) (g : A →⋆ₙₐ[R] C) : A →⋆ₙₐ[R] map_star' := fun x => by simp [map_star, Prod.star_def] } #align non_unital_star_alg_hom.prod NonUnitalStarAlgHom.prod +/- warning: non_unital_star_alg_hom.coe_prod -> NonUnitalStarAlgHom.coe_prod is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u4} C] [_inst_9 : DistribMulAction.{u1, u4} R C _inst_1 (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8))] [_inst_10 : Star.{u4} C] (f : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (succ u2) (succ (max u3 u4))} (A -> (Prod.{u3, u4} B C)) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (NonUnitalStarAlgHom.{u1, u2, max u3 u4} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.nonUnitalNonAssocSemiring.{u3, u4} B C _inst_5 _inst_8) (Prod.distribMulAction.{u1, u3, u4} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8)) _inst_6 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10)) (fun (_x : NonUnitalStarAlgHom.{u1, u2, max u3 u4} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.nonUnitalNonAssocSemiring.{u3, u4} B C _inst_5 _inst_8) (Prod.distribMulAction.{u1, u3, u4} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8)) _inst_6 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10)) => A -> (Prod.{u3, u4} B C)) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, max u3 u4} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.nonUnitalNonAssocSemiring.{u3, u4} B C _inst_5 _inst_8) (Prod.distribMulAction.{u1, u3, u4} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8)) _inst_6 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10)) (NonUnitalStarAlgHom.prod.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) (Pi.prod.{u2, u3, u4} A (fun (ᾰ : A) => B) (fun (ᾰ : A) => C) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => A -> C) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) g)) +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Monoid.{u4} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u4, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : Star.{u3} A] [_inst_5 : NonUnitalNonAssocSemiring.{u2} B] [_inst_6 : DistribMulAction.{u4, u2} R B _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] [_inst_7 : Star.{u2} B] [_inst_8 : NonUnitalNonAssocSemiring.{u1} C] [_inst_9 : DistribMulAction.{u4, u1} R C _inst_1 (AddCommMonoid.toAddMonoid.{u1} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} C _inst_8))] [_inst_10 : Star.{u1} C] (f : NonUnitalStarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : NonUnitalStarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => Prod.{u2, u1} B C) ᾰ) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (NonUnitalStarAlgHom.{u4, u3, max u1 u2} R A (Prod.{u2, u1} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instNonUnitalNonAssocSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.distribMulAction.{u4, u2, u1} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) (AddCommMonoid.toAddMonoid.{u1} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} C _inst_8)) _inst_6 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => Prod.{u2, u1} B C) _x) (StarHomClass.toFunLike.{max (max u3 u2) u1, u3, max u2 u1} (NonUnitalStarAlgHom.{u4, u3, max u1 u2} R A (Prod.{u2, u1} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instNonUnitalNonAssocSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.distribMulAction.{u4, u2, u1} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) (AddCommMonoid.toAddMonoid.{u1} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} C _inst_8)) _inst_6 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10)) A (Prod.{u2, u1} B C) _inst_4 (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10) (NonUnitalStarAlgHomClass.toStarHomClass.{max (max u3 u2) u1, u4, u3, max u2 u1} (NonUnitalStarAlgHom.{u4, u3, max u1 u2} R A (Prod.{u2, u1} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instNonUnitalNonAssocSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.distribMulAction.{u4, u2, u1} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) (AddCommMonoid.toAddMonoid.{u1} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} C _inst_8)) _inst_6 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10)) R A (Prod.{u2, u1} B C) _inst_1 _inst_4 (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10) _inst_2 (Prod.instNonUnitalNonAssocSemiringProd.{u2, u1} B C _inst_5 _inst_8) _inst_3 (Prod.distribMulAction.{u4, u2, u1} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) (AddCommMonoid.toAddMonoid.{u1} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} C _inst_8)) _inst_6 _inst_9) (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u4, u3, max u2 u1} R A (Prod.{u2, u1} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instNonUnitalNonAssocSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.distribMulAction.{u4, u2, u1} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) (AddCommMonoid.toAddMonoid.{u1} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} C _inst_8)) _inst_6 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10)))) (NonUnitalStarAlgHom.prod.{u4, u3, u2, u1} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) (Pi.prod.{u3, u2, u1} A (fun (ᾰ : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) ᾰ) (fun (ᾰ : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (NonUnitalStarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u3 u2, u3, u2} (NonUnitalStarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u3 u2, u4, u3, u2} (NonUnitalStarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (NonUnitalStarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) _x) (StarHomClass.toFunLike.{max u3 u1, u3, u1} (NonUnitalStarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A C _inst_4 _inst_10 (NonUnitalStarAlgHomClass.toStarHomClass.{max u3 u1, u4, u3, u1} (NonUnitalStarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) R A C _inst_1 _inst_4 _inst_10 _inst_2 _inst_8 _inst_3 _inst_9 (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) g)) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.coe_prod NonUnitalStarAlgHom.coe_prodₓ'. -/ theorem coe_prod (f : A →⋆ₙₐ[R] B) (g : A →⋆ₙₐ[R] C) : ⇑(f.Prod g) = Pi.prod f g := rfl #align non_unital_star_alg_hom.coe_prod NonUnitalStarAlgHom.coe_prod +/- warning: non_unital_star_alg_hom.fst_prod -> NonUnitalStarAlgHom.fst_prod is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u4} C] [_inst_9 : DistribMulAction.{u1, u4} R C _inst_1 (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8))] [_inst_10 : Star.{u4} C] (f : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (succ u2) (succ u3)} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.comp.{u1, u2, max u3 u4, u3} R A (Prod.{u3, u4} B C) B _inst_1 _inst_2 _inst_3 _inst_4 (Prod.nonUnitalNonAssocSemiring.{u3, u4} B C _inst_5 _inst_8) (Prod.distribMulAction.{u1, u3, u4} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8)) _inst_6 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10) _inst_5 _inst_6 _inst_7 (NonUnitalStarAlgHom.fst.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (NonUnitalStarAlgHom.prod.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) f +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Monoid.{u4} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u4, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : Star.{u3} A] [_inst_5 : NonUnitalNonAssocSemiring.{u2} B] [_inst_6 : DistribMulAction.{u4, u2} R B _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] [_inst_7 : Star.{u2} B] [_inst_8 : NonUnitalNonAssocSemiring.{u1} C] [_inst_9 : DistribMulAction.{u4, u1} R C _inst_1 (AddCommMonoid.toAddMonoid.{u1} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} C _inst_8))] [_inst_10 : Star.{u1} C] (f : NonUnitalStarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : NonUnitalStarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (succ u3) (succ u2)} (NonUnitalStarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.comp.{u4, u3, max u2 u1, u2} R A (Prod.{u2, u1} B C) B _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instNonUnitalNonAssocSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.distribMulAction.{u4, u2, u1} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) (AddCommMonoid.toAddMonoid.{u1} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} C _inst_8)) _inst_6 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10) _inst_5 _inst_6 _inst_7 (NonUnitalStarAlgHom.fst.{u4, u2, u1} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (NonUnitalStarAlgHom.prod.{u4, u3, u2, u1} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) f +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.fst_prod NonUnitalStarAlgHom.fst_prodₓ'. -/ @[simp] theorem fst_prod (f : A →⋆ₙₐ[R] B) (g : A →⋆ₙₐ[R] C) : (fst R B C).comp (prod f g) = f := by ext <;> rfl #align non_unital_star_alg_hom.fst_prod NonUnitalStarAlgHom.fst_prod +/- warning: non_unital_star_alg_hom.snd_prod -> NonUnitalStarAlgHom.snd_prod is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u4} C] [_inst_9 : DistribMulAction.{u1, u4} R C _inst_1 (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8))] [_inst_10 : Star.{u4} C] (f : NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (succ u2) (succ u4)} (NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (NonUnitalStarAlgHom.comp.{u1, u2, max u3 u4, u4} R A (Prod.{u3, u4} B C) C _inst_1 _inst_2 _inst_3 _inst_4 (Prod.nonUnitalNonAssocSemiring.{u3, u4} B C _inst_5 _inst_8) (Prod.distribMulAction.{u1, u3, u4} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8)) _inst_6 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10) _inst_8 _inst_9 _inst_10 (NonUnitalStarAlgHom.snd.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (NonUnitalStarAlgHom.prod.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) g +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Monoid.{u4} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u4, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : Star.{u3} A] [_inst_5 : NonUnitalNonAssocSemiring.{u2} B] [_inst_6 : DistribMulAction.{u4, u2} R B _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] [_inst_7 : Star.{u2} B] [_inst_8 : NonUnitalNonAssocSemiring.{u1} C] [_inst_9 : DistribMulAction.{u4, u1} R C _inst_1 (AddCommMonoid.toAddMonoid.{u1} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} C _inst_8))] [_inst_10 : Star.{u1} C] (f : NonUnitalStarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : NonUnitalStarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (succ u3) (succ u1)} (NonUnitalStarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (NonUnitalStarAlgHom.comp.{u4, u3, max u2 u1, u1} R A (Prod.{u2, u1} B C) C _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instNonUnitalNonAssocSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.distribMulAction.{u4, u2, u1} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) (AddCommMonoid.toAddMonoid.{u1} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} C _inst_8)) _inst_6 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10) _inst_8 _inst_9 _inst_10 (NonUnitalStarAlgHom.snd.{u4, u2, u1} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (NonUnitalStarAlgHom.prod.{u4, u3, u2, u1} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) g +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.snd_prod NonUnitalStarAlgHom.snd_prodₓ'. -/ @[simp] theorem snd_prod (f : A →⋆ₙₐ[R] B) (g : A →⋆ₙₐ[R] C) : (snd R B C).comp (prod f g) = g := by ext <;> rfl #align non_unital_star_alg_hom.snd_prod NonUnitalStarAlgHom.snd_prod +/- warning: non_unital_star_alg_hom.prod_fst_snd -> NonUnitalStarAlgHom.prod_fst_snd is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B], Eq.{succ (max u2 u3)} (NonUnitalStarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) (NonUnitalStarAlgHom.prod.{u1, max u2 u3, u2, u3} R (Prod.{u2, u3} A B) A B _inst_1 (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (NonUnitalStarAlgHom.fst.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.snd.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) (OfNat.ofNat.{max u2 u3} (NonUnitalStarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) 1 (OfNat.mk.{max u2 u3} (NonUnitalStarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) 1 (One.one.{max u2 u3} (NonUnitalStarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) (MulOneClass.toHasOne.{max u2 u3} (NonUnitalStarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) (Monoid.toMulOneClass.{max u2 u3} (NonUnitalStarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) (NonUnitalStarAlgHom.monoid.{u1, max u2 u3} R (Prod.{u2, u3} A B) _inst_1 (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7))))))) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u3}} {B : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u1, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : Star.{u3} A] [_inst_5 : NonUnitalNonAssocSemiring.{u2} B] [_inst_6 : DistribMulAction.{u1, u2} R B _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] [_inst_7 : Star.{u2} B], Eq.{max (succ u3) (succ u2)} (NonUnitalStarAlgHom.{u1, max u3 u2, max u2 u3} R (Prod.{u3, u2} A B) (Prod.{u3, u2} A B) _inst_1 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7)) (NonUnitalStarAlgHom.prod.{u1, max u3 u2, u3, u2} R (Prod.{u3, u2} A B) A B _inst_1 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (NonUnitalStarAlgHom.fst.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.snd.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) (OfNat.ofNat.{max u3 u2} (NonUnitalStarAlgHom.{u1, max u3 u2, max u2 u3} R (Prod.{u3, u2} A B) (Prod.{u3, u2} A B) _inst_1 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7)) 1 (One.toOfNat1.{max u3 u2} (NonUnitalStarAlgHom.{u1, max u3 u2, max u2 u3} R (Prod.{u3, u2} A B) (Prod.{u3, u2} A B) _inst_1 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7)) (Monoid.toOne.{max u3 u2} (NonUnitalStarAlgHom.{u1, max u3 u2, max u2 u3} R (Prod.{u3, u2} A B) (Prod.{u3, u2} A B) _inst_1 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7)) (NonUnitalStarAlgHom.instMonoidNonUnitalStarAlgHom.{u1, max u3 u2} R (Prod.{u3, u2} A B) _inst_1 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7))))) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.prod_fst_snd NonUnitalStarAlgHom.prod_fst_sndₓ'. -/ @[simp] theorem prod_fst_snd : prod (fst R A B) (snd R A B) = 1 := FunLike.coe_injective Pi.prod_fst_snd #align non_unital_star_alg_hom.prod_fst_snd NonUnitalStarAlgHom.prod_fst_snd +/- warning: non_unital_star_alg_hom.prod_equiv -> NonUnitalStarAlgHom.prodEquiv is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u4} C] [_inst_9 : DistribMulAction.{u1, u4} R C _inst_1 (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8))] [_inst_10 : Star.{u4} C], Equiv.{max (succ (max u2 u3)) (succ (max u2 u4)), max (succ u2) (succ (max u3 u4))} (Prod.{max u2 u3, max u2 u4} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10)) (NonUnitalStarAlgHom.{u1, u2, max u3 u4} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.nonUnitalNonAssocSemiring.{u3, u4} B C _inst_5 _inst_8) (Prod.distribMulAction.{u1, u3, u4} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8)) _inst_6 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10)) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : Star.{u2} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [_inst_8 : NonUnitalNonAssocSemiring.{u4} C] [_inst_9 : DistribMulAction.{u1, u4} R C _inst_1 (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8))] [_inst_10 : Star.{u4} C], Equiv.{max (succ (max u4 u2)) (succ (max u3 u2)), max (succ (max u4 u3)) (succ u2)} (Prod.{max u3 u2, max u4 u2} (NonUnitalStarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (NonUnitalStarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10)) (NonUnitalStarAlgHom.{u1, u2, max u4 u3} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u4} B C _inst_5 _inst_8) (Prod.distribMulAction.{u1, u3, u4} R B C _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C _inst_8)) _inst_6 _inst_9) (Prod.instStarProd.{u3, u4} B C _inst_7 _inst_10)) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.prod_equiv NonUnitalStarAlgHom.prodEquivₓ'. -/ /-- Taking the product of two maps with the same domain is equivalent to taking the product of their codomains. -/ @[simps] @@ -554,11 +796,23 @@ variable (R A B C : Type _) [Monoid R] [NonUnitalNonAssocSemiring A] [DistribMul [StarAddMonoid A] [NonUnitalNonAssocSemiring B] [DistribMulAction R B] [StarAddMonoid B] [NonUnitalNonAssocSemiring C] [DistribMulAction R C] [StarAddMonoid C] +/- warning: non_unital_star_alg_hom.inl -> NonUnitalStarAlgHom.inl is a dubious translation: +lean 3 declaration is + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : StarAddMonoid.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : StarAddMonoid.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))], NonUnitalStarAlgHom.{u1, u2, max u2 u3} R A (Prod.{u2, u3} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) +but is expected to have type + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : StarAddMonoid.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : StarAddMonoid.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))], NonUnitalStarAlgHom.{u1, u2, max u3 u2} R A (Prod.{u2, u3} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u2} A (StarAddMonoid.toInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (Prod.instNonUnitalNonAssocSemiringProd.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u2, u3} A B (InvolutiveStar.toStar.{u2} A (StarAddMonoid.toInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u3} B (StarAddMonoid.toInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.inl NonUnitalStarAlgHom.inlₓ'. -/ /-- The left injection into a product is a non-unital algebra homomorphism. -/ def inl : A →⋆ₙₐ[R] A × B := prod 1 0 #align non_unital_star_alg_hom.inl NonUnitalStarAlgHom.inl +/- warning: non_unital_star_alg_hom.inr -> NonUnitalStarAlgHom.inr is a dubious translation: +lean 3 declaration is + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : StarAddMonoid.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : StarAddMonoid.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))], NonUnitalStarAlgHom.{u1, u3, max u2 u3} R B (Prod.{u2, u3} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) +but is expected to have type + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : StarAddMonoid.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : StarAddMonoid.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))], NonUnitalStarAlgHom.{u1, u3, max u3 u2} R B (Prod.{u2, u3} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toStar.{u3} B (StarAddMonoid.toInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)) (Prod.instNonUnitalNonAssocSemiringProd.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u2, u3} A B (InvolutiveStar.toStar.{u2} A (StarAddMonoid.toInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u3} B (StarAddMonoid.toInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7))) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.inr NonUnitalStarAlgHom.inrₓ'. -/ /-- The right injection into a product is a non-unital algebra homomorphism. -/ def inr : B →⋆ₙₐ[R] A × B := prod 0 1 @@ -566,20 +820,44 @@ def inr : B →⋆ₙₐ[R] A × B := variable {R A B} +/- warning: non_unital_star_alg_hom.coe_inl -> NonUnitalStarAlgHom.coe_inl is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : StarAddMonoid.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : StarAddMonoid.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))], Eq.{max (succ u2) (succ u3)} ((fun (_x : NonUnitalStarAlgHom.{u1, u2, max u2 u3} R A (Prod.{u2, u3} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) => A -> (Prod.{u2, u3} A B)) (NonUnitalStarAlgHom.inl.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) (coeFn.{max (succ u2) (succ (max u2 u3)), max (succ u2) (succ (max u2 u3))} (NonUnitalStarAlgHom.{u1, u2, max u2 u3} R A (Prod.{u2, u3} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) (fun (_x : NonUnitalStarAlgHom.{u1, u2, max u2 u3} R A (Prod.{u2, u3} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) => A -> (Prod.{u2, u3} A B)) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, max u2 u3} R A (Prod.{u2, u3} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) (NonUnitalStarAlgHom.inl.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) (fun (x : A) => Prod.mk.{u2, u3} A B x (OfNat.ofNat.{u3} B 0 (OfNat.mk.{u3} B 0 (Zero.zero.{u3} B (MulZeroClass.toHasZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)))))) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u3}} {B : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u1, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : StarAddMonoid.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u2} B] [_inst_6 : DistribMulAction.{u1, u2} R B _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] [_inst_7 : StarAddMonoid.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))], Eq.{max (succ u3) (succ u2)} (forall (a : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => Prod.{u3, u2} A B) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (NonUnitalStarAlgHom.{u1, u3, max u2 u3} R A (Prod.{u3, u2} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => Prod.{u3, u2} A B) _x) (StarHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (NonUnitalStarAlgHom.{u1, u3, max u2 u3} R A (Prod.{u3, u2} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) A (Prod.{u3, u2} A B) (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) (NonUnitalStarAlgHomClass.toStarHomClass.{max u3 u2, u1, u3, max u3 u2} (NonUnitalStarAlgHom.{u1, u3, max u2 u3} R A (Prod.{u3, u2} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) R A (Prod.{u3, u2} A B) _inst_1 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) _inst_2 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) _inst_3 (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u1, u3, max u3 u2} R A (Prod.{u3, u2} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))))) (NonUnitalStarAlgHom.inl.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) (fun (x : A) => Prod.mk.{u3, u2} A B x (OfNat.ofNat.{u2} B 0 (Zero.toOfNat0.{u2} B (MulZeroClass.toZero.{u2} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} B _inst_5))))) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.coe_inl NonUnitalStarAlgHom.coe_inlₓ'. -/ @[simp] theorem coe_inl : (inl R A B : A → A × B) = fun x => (x, 0) := rfl #align non_unital_star_alg_hom.coe_inl NonUnitalStarAlgHom.coe_inl +/- warning: non_unital_star_alg_hom.inl_apply -> NonUnitalStarAlgHom.inl_apply is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : StarAddMonoid.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : StarAddMonoid.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] (x : A), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} A B) (coeFn.{max (succ u2) (succ (max u2 u3)), max (succ u2) (succ (max u2 u3))} (NonUnitalStarAlgHom.{u1, u2, max u2 u3} R A (Prod.{u2, u3} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) (fun (_x : NonUnitalStarAlgHom.{u1, u2, max u2 u3} R A (Prod.{u2, u3} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) => A -> (Prod.{u2, u3} A B)) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u2, max u2 u3} R A (Prod.{u2, u3} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) (NonUnitalStarAlgHom.inl.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) x) (Prod.mk.{u2, u3} A B x (OfNat.ofNat.{u3} B 0 (OfNat.mk.{u3} B 0 (Zero.zero.{u3} B (MulZeroClass.toHasZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)))))) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u3}} {B : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u1, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : StarAddMonoid.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u2} B] [_inst_6 : DistribMulAction.{u1, u2} R B _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] [_inst_7 : StarAddMonoid.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] (x : A), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => Prod.{u3, u2} A B) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (NonUnitalStarAlgHom.{u1, u3, max u2 u3} R A (Prod.{u3, u2} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => Prod.{u3, u2} A B) _x) (StarHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (NonUnitalStarAlgHom.{u1, u3, max u2 u3} R A (Prod.{u3, u2} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) A (Prod.{u3, u2} A B) (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) (NonUnitalStarAlgHomClass.toStarHomClass.{max u3 u2, u1, u3, max u3 u2} (NonUnitalStarAlgHom.{u1, u3, max u2 u3} R A (Prod.{u3, u2} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) R A (Prod.{u3, u2} A B) _inst_1 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) _inst_2 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) _inst_3 (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u1, u3, max u3 u2} R A (Prod.{u3, u2} A B) _inst_1 _inst_2 _inst_3 (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))))) (NonUnitalStarAlgHom.inl.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) x) (Prod.mk.{u3, u2} A B x (OfNat.ofNat.{u2} B 0 (Zero.toOfNat0.{u2} B (MulZeroClass.toZero.{u2} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} B _inst_5))))) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.inl_apply NonUnitalStarAlgHom.inl_applyₓ'. -/ theorem inl_apply (x : A) : inl R A B x = (x, 0) := rfl #align non_unital_star_alg_hom.inl_apply NonUnitalStarAlgHom.inl_apply +/- warning: non_unital_star_alg_hom.coe_inr -> NonUnitalStarAlgHom.coe_inr is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : StarAddMonoid.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : StarAddMonoid.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))], Eq.{max (succ u2) (succ u3)} ((fun (_x : NonUnitalStarAlgHom.{u1, u3, max u2 u3} R B (Prod.{u2, u3} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) => B -> (Prod.{u2, u3} A B)) (NonUnitalStarAlgHom.inr.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (NonUnitalStarAlgHom.{u1, u3, max u2 u3} R B (Prod.{u2, u3} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) (fun (_x : NonUnitalStarAlgHom.{u1, u3, max u2 u3} R B (Prod.{u2, u3} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) => B -> (Prod.{u2, u3} A B)) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u3, max u2 u3} R B (Prod.{u2, u3} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) (NonUnitalStarAlgHom.inr.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) (Prod.mk.{u2, u3} A B (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))))) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u3}} {B : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u1, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : StarAddMonoid.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u2} B] [_inst_6 : DistribMulAction.{u1, u2} R B _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] [_inst_7 : StarAddMonoid.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))], Eq.{max (succ u3) (succ u2)} (forall (a : B), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => Prod.{u3, u2} A B) a) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (NonUnitalStarAlgHom.{u1, u2, max u2 u3} R B (Prod.{u3, u2} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => Prod.{u3, u2} A B) _x) (StarHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (NonUnitalStarAlgHom.{u1, u2, max u2 u3} R B (Prod.{u3, u2} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) B (Prod.{u3, u2} A B) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) (NonUnitalStarAlgHomClass.toStarHomClass.{max u3 u2, u1, u2, max u3 u2} (NonUnitalStarAlgHom.{u1, u2, max u2 u3} R B (Prod.{u3, u2} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) R B (Prod.{u3, u2} A B) _inst_1 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) _inst_5 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) _inst_6 (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u1, u2, max u3 u2} R B (Prod.{u3, u2} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))))) (NonUnitalStarAlgHom.inr.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) (Prod.mk.{u3, u2} A B (OfNat.ofNat.{u3} A 0 (Zero.toOfNat0.{u3} A (MulZeroClass.toZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A _inst_2))))) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.coe_inr NonUnitalStarAlgHom.coe_inrₓ'. -/ @[simp] theorem coe_inr : (inr R A B : B → A × B) = Prod.mk 0 := rfl #align non_unital_star_alg_hom.coe_inr NonUnitalStarAlgHom.coe_inr +/- warning: non_unital_star_alg_hom.inr_apply -> NonUnitalStarAlgHom.inr_apply is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : DistribMulAction.{u1, u2} R A _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_4 : StarAddMonoid.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : StarAddMonoid.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] (x : B), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} A B) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (NonUnitalStarAlgHom.{u1, u3, max u2 u3} R B (Prod.{u2, u3} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) (fun (_x : NonUnitalStarAlgHom.{u1, u3, max u2 u3} R B (Prod.{u2, u3} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) => B -> (Prod.{u2, u3} A B)) (NonUnitalStarAlgHom.hasCoeToFun.{u1, u3, max u2 u3} R B (Prod.{u2, u3} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)) (Prod.nonUnitalNonAssocSemiring.{u2, u3} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u2, u3} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_3 _inst_6) (Prod.hasStar.{u2, u3} A B (InvolutiveStar.toHasStar.{u2} A (StarAddMonoid.toHasInvolutiveStar.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) _inst_4)) (InvolutiveStar.toHasStar.{u3} B (StarAddMonoid.toHasInvolutiveStar.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_7)))) (NonUnitalStarAlgHom.inr.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) x) (Prod.mk.{u2, u3} A B (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))) x) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u3}} {B : Type.{u2}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u1, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : StarAddMonoid.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_5 : NonUnitalNonAssocSemiring.{u2} B] [_inst_6 : DistribMulAction.{u1, u2} R B _inst_1 (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] [_inst_7 : StarAddMonoid.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5))] (x : B), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => Prod.{u3, u2} A B) x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (NonUnitalStarAlgHom.{u1, u2, max u2 u3} R B (Prod.{u3, u2} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => Prod.{u3, u2} A B) _x) (StarHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (NonUnitalStarAlgHom.{u1, u2, max u2 u3} R B (Prod.{u3, u2} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) B (Prod.{u3, u2} A B) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) (NonUnitalStarAlgHomClass.toStarHomClass.{max u3 u2, u1, u2, max u3 u2} (NonUnitalStarAlgHom.{u1, u2, max u2 u3} R B (Prod.{u3, u2} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))) R B (Prod.{u3, u2} A B) _inst_1 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7))) _inst_5 (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) _inst_6 (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (NonUnitalStarAlgHom.instNonUnitalStarAlgHomClassNonUnitalStarAlgHom.{u1, u2, max u3 u2} R B (Prod.{u3, u2} A B) _inst_1 _inst_5 _inst_6 (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)) (Prod.instNonUnitalNonAssocSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.distribMulAction.{u1, u3, u2} R A B _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_3 _inst_6) (Prod.instStarProd.{u3, u2} A B (InvolutiveStar.toStar.{u3} A (StarAddMonoid.toInvolutiveStar.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_4)) (InvolutiveStar.toStar.{u2} B (StarAddMonoid.toInvolutiveStar.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B _inst_5)) _inst_7)))))) (NonUnitalStarAlgHom.inr.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) x) (Prod.mk.{u3, u2} A B (OfNat.ofNat.{u3} A 0 (Zero.toOfNat0.{u3} A (MulZeroClass.toZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A _inst_2)))) x) +Case conversion may be inaccurate. Consider using '#align non_unital_star_alg_hom.inr_apply NonUnitalStarAlgHom.inr_applyₓ'. -/ theorem inr_apply (x : B) : inr R A B x = (0, x) := rfl #align non_unital_star_alg_hom.inr_apply NonUnitalStarAlgHom.inr_apply @@ -593,12 +871,24 @@ namespace StarAlgHom variable (R A B C : Type _) [CommSemiring R] [Semiring A] [Algebra R A] [Star A] [Semiring B] [Algebra R B] [Star B] [Semiring C] [Algebra R C] [Star C] +/- warning: star_alg_hom.fst -> StarAlgHom.fst is a dubious translation: +lean 3 declaration is + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B], StarAlgHom.{u1, max u2 u3, u2} R (Prod.{u2, u3} A B) A _inst_1 (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) _inst_2 _inst_3 _inst_4 +but is expected to have type + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B], StarAlgHom.{u1, max u3 u2, u2} R (Prod.{u2, u3} A B) A _inst_1 (Prod.instSemiringProd.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u2, u3} A B _inst_4 _inst_7) _inst_2 _inst_3 _inst_4 +Case conversion may be inaccurate. Consider using '#align star_alg_hom.fst StarAlgHom.fstₓ'. -/ /-- The first projection of a product is a ⋆-algebra homomoprhism. -/ @[simps] def fst : A × B →⋆ₐ[R] A := { AlgHom.fst R A B with map_star' := fun x => rfl } #align star_alg_hom.fst StarAlgHom.fst +/- warning: star_alg_hom.snd -> StarAlgHom.snd is a dubious translation: +lean 3 declaration is + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B], StarAlgHom.{u1, max u2 u3, u3} R (Prod.{u2, u3} A B) B _inst_1 (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) _inst_5 _inst_6 _inst_7 +but is expected to have type + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B], StarAlgHom.{u1, max u3 u2, u3} R (Prod.{u2, u3} A B) B _inst_1 (Prod.instSemiringProd.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u2, u3} A B _inst_4 _inst_7) _inst_5 _inst_6 _inst_7 +Case conversion may be inaccurate. Consider using '#align star_alg_hom.snd StarAlgHom.sndₓ'. -/ /-- The second projection of a product is a ⋆-algebra homomorphism. -/ @[simps] def snd : A × B →⋆ₐ[R] B := @@ -607,31 +897,67 @@ def snd : A × B →⋆ₐ[R] B := variable {R A B C} +/- warning: star_alg_hom.prod -> StarAlgHom.prod is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u4} C] [_inst_9 : Algebra.{u1, u4} R C _inst_1 _inst_8] [_inst_10 : Star.{u4} C], (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) -> (StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) -> (StarAlgHom.{u1, u2, max u3 u4} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.semiring.{u3, u4} B C _inst_5 _inst_8) (Prod.algebra.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10)) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u4} C] [_inst_9 : Algebra.{u1, u4} R C _inst_1 _inst_8] [_inst_10 : Star.{u4} C], (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) -> (StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) -> (StarAlgHom.{u1, u2, max u4 u3} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instSemiringProd.{u3, u4} B C _inst_5 _inst_8) (Prod.algebra.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.instStarProd.{u3, u4} B C _inst_7 _inst_10)) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.prod StarAlgHom.prodₓ'. -/ /-- The `pi.prod` of two morphisms is a morphism. -/ @[simps] def prod (f : A →⋆ₐ[R] B) (g : A →⋆ₐ[R] C) : A →⋆ₐ[R] B × C := { f.toAlgHom.Prod g.toAlgHom with map_star' := fun x => by simp [Prod.star_def, map_star] } #align star_alg_hom.prod StarAlgHom.prod +/- warning: star_alg_hom.coe_prod -> StarAlgHom.coe_prod is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u4} C] [_inst_9 : Algebra.{u1, u4} R C _inst_1 _inst_8] [_inst_10 : Star.{u4} C] (f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (succ u2) (succ (max u3 u4))} (A -> (Prod.{u3, u4} B C)) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (StarAlgHom.{u1, u2, max u3 u4} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.semiring.{u3, u4} B C _inst_5 _inst_8) (Prod.algebra.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10)) (fun (_x : StarAlgHom.{u1, u2, max u3 u4} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.semiring.{u3, u4} B C _inst_5 _inst_8) (Prod.algebra.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10)) => A -> (Prod.{u3, u4} B C)) (StarAlgHom.hasCoeToFun.{u1, u2, max u3 u4} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.semiring.{u3, u4} B C _inst_5 _inst_8) (Prod.algebra.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10)) (StarAlgHom.prod.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) (Pi.prod.{u2, u3, u4} A (fun (ᾰ : A) => B) (fun (ᾰ : A) => C) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => A -> B) (StarAlgHom.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => A -> C) (StarAlgHom.hasCoeToFun.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) g)) +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] [_inst_2 : Semiring.{u3} A] [_inst_3 : Algebra.{u4, u3} R A _inst_1 _inst_2] [_inst_4 : Star.{u3} A] [_inst_5 : Semiring.{u2} B] [_inst_6 : Algebra.{u4, u2} R B _inst_1 _inst_5] [_inst_7 : Star.{u2} B] [_inst_8 : Semiring.{u1} C] [_inst_9 : Algebra.{u4, u1} R C _inst_1 _inst_8] [_inst_10 : Star.{u1} C] (f : StarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : StarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => Prod.{u2, u1} B C) ᾰ) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (StarAlgHom.{u4, u3, max u1 u2} R A (Prod.{u2, u1} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.algebra.{u4, u2, u1} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => Prod.{u2, u1} B C) _x) (StarHomClass.toFunLike.{max (max u3 u2) u1, u3, max u2 u1} (StarAlgHom.{u4, u3, max u1 u2} R A (Prod.{u2, u1} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.algebra.{u4, u2, u1} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10)) A (Prod.{u2, u1} B C) _inst_4 (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10) (StarAlgHomClass.toStarHomClass.{max (max u3 u2) u1, u4, u3, max u2 u1} (StarAlgHom.{u4, u3, max u1 u2} R A (Prod.{u2, u1} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.algebra.{u4, u2, u1} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10)) R A (Prod.{u2, u1} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.algebra.{u4, u2, u1} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10) (StarAlgHom.instStarAlgHomClassStarAlgHom.{u4, u3, max u2 u1} R A (Prod.{u2, u1} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.algebra.{u4, u2, u1} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10)))) (StarAlgHom.prod.{u4, u3, u2, u1} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) (Pi.prod.{u3, u2, u1} A (fun (ᾰ : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) ᾰ) (fun (ᾰ : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (StarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u3 u2, u3, u2} (StarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) A B _inst_4 _inst_7 (StarAlgHomClass.toStarHomClass.{max u3 u2, u4, u3, u2} (StarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (StarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) _x) (StarHomClass.toFunLike.{max u3 u1, u3, u1} (StarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) A C _inst_4 _inst_10 (StarAlgHomClass.toStarHomClass.{max u3 u1, u4, u3, u1} (StarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 (StarAlgHom.instStarAlgHomClassStarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) g)) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.coe_prod StarAlgHom.coe_prodₓ'. -/ theorem coe_prod (f : A →⋆ₐ[R] B) (g : A →⋆ₐ[R] C) : ⇑(f.Prod g) = Pi.prod f g := rfl #align star_alg_hom.coe_prod StarAlgHom.coe_prod +/- warning: star_alg_hom.fst_prod -> StarAlgHom.fst_prod is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u4} C] [_inst_9 : Algebra.{u1, u4} R C _inst_1 _inst_8] [_inst_10 : Star.{u4} C] (f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (succ u2) (succ u3)} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.comp.{u1, u2, max u3 u4, u3} R A (Prod.{u3, u4} B C) B _inst_1 _inst_2 _inst_3 _inst_4 (Prod.semiring.{u3, u4} B C _inst_5 _inst_8) (Prod.algebra.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10) _inst_5 _inst_6 _inst_7 (StarAlgHom.fst.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (StarAlgHom.prod.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) f +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] [_inst_2 : Semiring.{u3} A] [_inst_3 : Algebra.{u4, u3} R A _inst_1 _inst_2] [_inst_4 : Star.{u3} A] [_inst_5 : Semiring.{u2} B] [_inst_6 : Algebra.{u4, u2} R B _inst_1 _inst_5] [_inst_7 : Star.{u2} B] [_inst_8 : Semiring.{u1} C] [_inst_9 : Algebra.{u4, u1} R C _inst_1 _inst_8] [_inst_10 : Star.{u1} C] (f : StarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : StarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (succ u3) (succ u2)} (StarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.comp.{u4, u3, max u2 u1, u2} R A (Prod.{u2, u1} B C) B _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.algebra.{u4, u2, u1} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10) _inst_5 _inst_6 _inst_7 (StarAlgHom.fst.{u4, u2, u1} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (StarAlgHom.prod.{u4, u3, u2, u1} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) f +Case conversion may be inaccurate. Consider using '#align star_alg_hom.fst_prod StarAlgHom.fst_prodₓ'. -/ @[simp] theorem fst_prod (f : A →⋆ₐ[R] B) (g : A →⋆ₐ[R] C) : (fst R B C).comp (prod f g) = f := by ext <;> rfl #align star_alg_hom.fst_prod StarAlgHom.fst_prod +/- warning: star_alg_hom.snd_prod -> StarAlgHom.snd_prod is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u4} C] [_inst_9 : Algebra.{u1, u4} R C _inst_1 _inst_8] [_inst_10 : Star.{u4} C] (f : StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (succ u2) (succ u4)} (StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (StarAlgHom.comp.{u1, u2, max u3 u4, u4} R A (Prod.{u3, u4} B C) C _inst_1 _inst_2 _inst_3 _inst_4 (Prod.semiring.{u3, u4} B C _inst_5 _inst_8) (Prod.algebra.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10) _inst_8 _inst_9 _inst_10 (StarAlgHom.snd.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (StarAlgHom.prod.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) g +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] [_inst_2 : Semiring.{u3} A] [_inst_3 : Algebra.{u4, u3} R A _inst_1 _inst_2] [_inst_4 : Star.{u3} A] [_inst_5 : Semiring.{u2} B] [_inst_6 : Algebra.{u4, u2} R B _inst_1 _inst_5] [_inst_7 : Star.{u2} B] [_inst_8 : Semiring.{u1} C] [_inst_9 : Algebra.{u4, u1} R C _inst_1 _inst_8] [_inst_10 : Star.{u1} C] (f : StarAlgHom.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (g : StarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10), Eq.{max (succ u3) (succ u1)} (StarAlgHom.{u4, u3, u1} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (StarAlgHom.comp.{u4, u3, max u2 u1, u1} R A (Prod.{u2, u1} B C) C _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instSemiringProd.{u2, u1} B C _inst_5 _inst_8) (Prod.algebra.{u4, u2, u1} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.instStarProd.{u2, u1} B C _inst_7 _inst_10) _inst_8 _inst_9 _inst_10 (StarAlgHom.snd.{u4, u2, u1} R B C _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (StarAlgHom.prod.{u4, u3, u2, u1} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f g)) g +Case conversion may be inaccurate. Consider using '#align star_alg_hom.snd_prod StarAlgHom.snd_prodₓ'. -/ @[simp] theorem snd_prod (f : A →⋆ₐ[R] B) (g : A →⋆ₐ[R] C) : (snd R B C).comp (prod f g) = g := by ext <;> rfl #align star_alg_hom.snd_prod StarAlgHom.snd_prod +/- warning: star_alg_hom.prod_fst_snd -> StarAlgHom.prod_fst_snd is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B], Eq.{succ (max u2 u3)} (StarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) (StarAlgHom.prod.{u1, max u2 u3, u2, u3} R (Prod.{u2, u3} A B) A B _inst_1 (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.fst.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.snd.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) (OfNat.ofNat.{max u2 u3} (StarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) 1 (OfNat.mk.{max u2 u3} (StarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) 1 (One.one.{max u2 u3} (StarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) (MulOneClass.toHasOne.{max u2 u3} (StarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) (Monoid.toMulOneClass.{max u2 u3} (StarAlgHom.{u1, max u2 u3, max u2 u3} R (Prod.{u2, u3} A B) (Prod.{u2, u3} A B) _inst_1 (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7) (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7)) (StarAlgHom.monoid.{u1, max u2 u3} R (Prod.{u2, u3} A B) _inst_1 (Prod.semiring.{u2, u3} A B _inst_2 _inst_5) (Prod.algebra.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.hasStar.{u2, u3} A B _inst_4 _inst_7))))))) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u3}} {B : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u3} A] [_inst_3 : Algebra.{u1, u3} R A _inst_1 _inst_2] [_inst_4 : Star.{u3} A] [_inst_5 : Semiring.{u2} B] [_inst_6 : Algebra.{u1, u2} R B _inst_1 _inst_5] [_inst_7 : Star.{u2} B], Eq.{max (succ u3) (succ u2)} (StarAlgHom.{u1, max u3 u2, max u2 u3} R (Prod.{u3, u2} A B) (Prod.{u3, u2} A B) _inst_1 (Prod.instSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.algebra.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7) (Prod.instSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.algebra.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7)) (StarAlgHom.prod.{u1, max u3 u2, u3, u2} R (Prod.{u3, u2} A B) A B _inst_1 (Prod.instSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.algebra.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgHom.fst.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.snd.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) (OfNat.ofNat.{max u3 u2} (StarAlgHom.{u1, max u3 u2, max u2 u3} R (Prod.{u3, u2} A B) (Prod.{u3, u2} A B) _inst_1 (Prod.instSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.algebra.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7) (Prod.instSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.algebra.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7)) 1 (One.toOfNat1.{max u3 u2} (StarAlgHom.{u1, max u3 u2, max u2 u3} R (Prod.{u3, u2} A B) (Prod.{u3, u2} A B) _inst_1 (Prod.instSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.algebra.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7) (Prod.instSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.algebra.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7)) (Monoid.toOne.{max u3 u2} (StarAlgHom.{u1, max u3 u2, max u2 u3} R (Prod.{u3, u2} A B) (Prod.{u3, u2} A B) _inst_1 (Prod.instSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.algebra.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7) (Prod.instSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.algebra.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7)) (StarAlgHom.instMonoidStarAlgHom.{u1, max u3 u2} R (Prod.{u3, u2} A B) _inst_1 (Prod.instSemiringProd.{u3, u2} A B _inst_2 _inst_5) (Prod.algebra.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_5 _inst_6) (Prod.instStarProd.{u3, u2} A B _inst_4 _inst_7))))) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.prod_fst_snd StarAlgHom.prod_fst_sndₓ'. -/ @[simp] theorem prod_fst_snd : prod (fst R A B) (snd R A B) = 1 := FunLike.coe_injective Pi.prod_fst_snd #align star_alg_hom.prod_fst_snd StarAlgHom.prod_fst_snd +/- warning: star_alg_hom.prod_equiv -> StarAlgHom.prodEquiv is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u4} C] [_inst_9 : Algebra.{u1, u4} R C _inst_1 _inst_8] [_inst_10 : Star.{u4} C], Equiv.{max (succ (max u2 u3)) (succ (max u2 u4)), max (succ u2) (succ (max u3 u4))} (Prod.{max u2 u3, max u2 u4} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10)) (StarAlgHom.{u1, u2, max u3 u4} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.semiring.{u3, u4} B C _inst_5 _inst_8) (Prod.algebra.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.hasStar.{u3, u4} B C _inst_7 _inst_10)) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : Star.{u2} A] [_inst_5 : Semiring.{u3} B] [_inst_6 : Algebra.{u1, u3} R B _inst_1 _inst_5] [_inst_7 : Star.{u3} B] [_inst_8 : Semiring.{u4} C] [_inst_9 : Algebra.{u1, u4} R C _inst_1 _inst_8] [_inst_10 : Star.{u4} C], Equiv.{max (succ (max u4 u2)) (succ (max u3 u2)), max (succ (max u4 u3)) (succ u2)} (Prod.{max u3 u2, max u4 u2} (StarAlgHom.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (StarAlgHom.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10)) (StarAlgHom.{u1, u2, max u4 u3} R A (Prod.{u3, u4} B C) _inst_1 _inst_2 _inst_3 _inst_4 (Prod.instSemiringProd.{u3, u4} B C _inst_5 _inst_8) (Prod.algebra.{u1, u3, u4} R B C _inst_1 _inst_5 _inst_6 _inst_8 _inst_9) (Prod.instStarProd.{u3, u4} B C _inst_7 _inst_10)) +Case conversion may be inaccurate. Consider using '#align star_alg_hom.prod_equiv StarAlgHom.prodEquivₓ'. -/ /-- Taking the product of two maps with the same domain is equivalent to taking the product of their codomains. -/ @[simps] @@ -648,6 +974,12 @@ end StarAlgHom /-! ### Star algebra equivalences -/ +/- warning: star_alg_equiv -> StarAlgEquiv is a dubious translation: +lean 3 declaration is + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B], Sort.{max (succ u2) (succ u3)} +but is expected to have type + forall (R : Type.{u1}) (A : Type.{u2}) (B : Type.{u3}) [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u3} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u3} B] [_inst_5 : SMul.{u1, u2} R A] [_inst_6 : SMul.{u1, u3} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u3} B], Sort.{max (succ u2) (succ u3)} +Case conversion may be inaccurate. Consider using '#align star_alg_equiv StarAlgEquivₓ'. -/ /-- A *⋆-algebra* equivalence is an equivalence preserving addition, multiplication, scalar multiplication and the star operation, which allows for considering both unital and non-unital equivalences with a single structure. Currently, `alg_equiv` requires unital algebras, which is @@ -668,6 +1000,7 @@ notation:25 A " ≃⋆ₐ[" R "] " B => StarAlgEquiv R A B the star operation and scalar multiplication. -/ add_decl_doc StarAlgEquiv.toRingEquiv +#print StarAlgEquivClass /- /-- `star_alg_equiv_class F R A B` asserts `F` is a type of bundled ⋆-algebra equivalences between `A` and `B`. @@ -678,6 +1011,7 @@ class StarAlgEquivClass (F : Type _) (R : outParam (Type _)) (A : outParam (Type map_star : ∀ (f : F) (a : A), f (star a) = star (f a) map_smul : ∀ (f : F) (r : R) (a : A), f (r • a) = r • f a #align star_alg_equiv_class StarAlgEquivClass +-/ -- `R` becomes a metavariable but that's fine because it's an `out_param` attribute [nolint dangerous_instance] StarAlgEquivClass.toRingEquivClass @@ -753,15 +1087,33 @@ instance : StarAlgEquivClass (A ≃⋆ₐ[R] B) R A B instance : CoeFun (A ≃⋆ₐ[R] B) fun _ => A → B := ⟨StarAlgEquiv.toFun⟩ +/- warning: star_alg_equiv.ext -> StarAlgEquiv.ext is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] {f : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8} {g : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8}, (forall (a : A), Eq.{succ u3} B (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (fun (_x : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) => A -> B) (StarAlgEquiv.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) f a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (fun (_x : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) => A -> B) (StarAlgEquiv.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) g a)) -> (Eq.{max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) f g) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u1} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u1} B] [_inst_5 : SMul.{u3, u2} R A] [_inst_6 : SMul.{u3, u1} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u1} B] {f : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8} {g : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8}, (forall (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_7 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_7 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))) g a)) -> (Eq.{max (succ u2) (succ u1)} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) f g) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.ext StarAlgEquiv.extₓ'. -/ @[ext] theorem ext {f g : A ≃⋆ₐ[R] B} (h : ∀ a, f a = g a) : f = g := FunLike.ext f g h #align star_alg_equiv.ext StarAlgEquiv.ext +/- warning: star_alg_equiv.ext_iff -> StarAlgEquiv.ext_iff is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] {f : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8} {g : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8}, Iff (Eq.{max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) f g) (forall (a : A), Eq.{succ u3} B (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (fun (_x : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) => A -> B) (StarAlgEquiv.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) f a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (fun (_x : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) => A -> B) (StarAlgEquiv.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) g a)) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u1} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u1} B] [_inst_5 : SMul.{u3, u2} R A] [_inst_6 : SMul.{u3, u1} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u1} B] {f : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8} {g : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8}, Iff (Eq.{max (succ u2) (succ u1)} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) f g) (forall (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_7 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_7 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))) g a)) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.ext_iff StarAlgEquiv.ext_iffₓ'. -/ theorem ext_iff {f g : A ≃⋆ₐ[R] B} : f = g ↔ ∀ a, f a = g a := FunLike.ext_iff #align star_alg_equiv.ext_iff StarAlgEquiv.ext_iff +/- warning: star_alg_equiv.refl -> StarAlgEquiv.refl is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A], StarAlgEquiv.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_1 _inst_2 _inst_3 _inst_4 +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A], StarAlgEquiv.{u1, u2, u2} R A A _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3 _inst_4 _inst_4 +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.refl StarAlgEquiv.reflₓ'. -/ /-- Star algebra equivalences are reflexive. -/ @[refl] def refl : A ≃⋆ₐ[R] A := @@ -773,11 +1125,19 @@ def refl : A ≃⋆ₐ[R] A := instance : Inhabited (A ≃⋆ₐ[R] A) := ⟨refl⟩ +#print StarAlgEquiv.coe_refl /- @[simp] theorem coe_refl : ⇑(refl : A ≃⋆ₐ[R] A) = id := rfl #align star_alg_equiv.coe_refl StarAlgEquiv.coe_refl +-/ +/- warning: star_alg_equiv.symm -> StarAlgEquiv.symm is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B], (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) -> (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u3} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u3} B] [_inst_5 : SMul.{u1, u2} R A] [_inst_6 : SMul.{u1, u3} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u3} B], (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) -> (StarAlgEquiv.{u1, u3, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.symm StarAlgEquiv.symmₓ'. -/ /-- Star algebra equivalences are symmetric. -/ @[symm] def symm (e : A ≃⋆ₐ[R] B) : B ≃⋆ₐ[R] A := @@ -791,18 +1151,36 @@ def symm (e : A ≃⋆ₐ[R] B) : B ≃⋆ₐ[R] A := congr_arg e.inv_fun (e.map_smul' r (e.inv_fun b)).symm } #align star_alg_equiv.symm StarAlgEquiv.symm +/- warning: star_alg_equiv.simps.symm_apply -> StarAlgEquiv.Simps.symm_apply is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B], (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) -> B -> A +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u3} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u3} B] [_inst_5 : SMul.{u1, u2} R A] [_inst_6 : SMul.{u1, u3} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u3} B], (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) -> B -> A +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.simps.symm_apply StarAlgEquiv.Simps.symm_applyₓ'. -/ /-- See Note [custom simps projection] -/ -def Simps.symmApply (e : A ≃⋆ₐ[R] B) : B → A := +def Simps.symm_apply (e : A ≃⋆ₐ[R] B) : B → A := e.symm -#align star_alg_equiv.simps.symm_apply StarAlgEquiv.Simps.symmApply +#align star_alg_equiv.simps.symm_apply StarAlgEquiv.Simps.symm_apply initialize_simps_projections StarAlgEquiv (toFun → apply, invFun → simps.symm_apply) +/- warning: star_alg_equiv.inv_fun_eq_symm -> StarAlgEquiv.invFun_eq_symm is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] {e : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8}, Eq.{max (succ u3) (succ u2)} (B -> A) (StarAlgEquiv.invFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) => B -> A) (StarAlgEquiv.hasCoeToFun.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (StarAlgEquiv.symm.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e)) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u1} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u1} B] [_inst_5 : SMul.{u3, u2} R A] [_inst_6 : SMul.{u3, u1} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u1} B] {e : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8}, Eq.{max (succ u2) (succ u1)} (B -> A) (EquivLike.inv.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B (MulEquivClass.toEquivLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_3 _inst_4 (RingEquivClass.toMulEquivClass.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_3 _inst_1 _inst_4 _inst_2 (StarAlgEquivClass.toRingEquivClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8)))) e) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) _x) (StarHomClass.toFunLike.{max u2 u1, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B A _inst_8 _inst_7 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) R B A _inst_2 _inst_4 _inst_6 _inst_8 _inst_1 _inst_3 _inst_5 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7))) (StarAlgEquiv.symm.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e)) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.inv_fun_eq_symm StarAlgEquiv.invFun_eq_symmₓ'. -/ @[simp] theorem invFun_eq_symm {e : A ≃⋆ₐ[R] B} : e.invFun = e.symm := rfl #align star_alg_equiv.inv_fun_eq_symm StarAlgEquiv.invFun_eq_symm +/- warning: star_alg_equiv.symm_symm -> StarAlgEquiv.symm_symm is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] (e : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8), Eq.{max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (StarAlgEquiv.symm.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4 (StarAlgEquiv.symm.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e)) e +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u1} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u1} B] [_inst_5 : SMul.{u3, u2} R A] [_inst_6 : SMul.{u3, u1} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u1} B] (e : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8), Eq.{max (succ u2) (succ u1)} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (StarAlgEquiv.symm.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7 (StarAlgEquiv.symm.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e)) e +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.symm_symm StarAlgEquiv.symm_symmₓ'. -/ @[simp] theorem symm_symm (e : A ≃⋆ₐ[R] B) : e.symm.symm = e := by @@ -810,6 +1188,12 @@ theorem symm_symm (e : A ≃⋆ₐ[R] B) : e.symm.symm = e := rfl #align star_alg_equiv.symm_symm StarAlgEquiv.symm_symm +/- warning: star_alg_equiv.symm_bijective -> StarAlgEquiv.symm_bijective is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B], Function.Bijective.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (StarAlgEquiv.symm.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u3}} {B : Type.{u2}} [_inst_1 : Add.{u3} A] [_inst_2 : Add.{u2} B] [_inst_3 : Mul.{u3} A] [_inst_4 : Mul.{u2} B] [_inst_5 : SMul.{u1, u3} R A] [_inst_6 : SMul.{u1, u2} R B] [_inst_7 : Star.{u3} A] [_inst_8 : Star.{u2} B], Function.Bijective.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (StarAlgEquiv.{u1, u2, u3} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) (StarAlgEquiv.symm.{u1, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.symm_bijective StarAlgEquiv.symm_bijectiveₓ'. -/ theorem symm_bijective : Function.Bijective (symm : (A ≃⋆ₐ[R] B) → B ≃⋆ₐ[R] A) := Equiv.bijective ⟨symm, symm, symm_symm, symm_symm⟩ #align star_alg_equiv.symm_bijective StarAlgEquiv.symm_bijective @@ -818,7 +1202,7 @@ theorem symm_bijective : Function.Bijective (symm : (A ≃⋆ₐ[R] B) → B ≃ theorem mk_coe' (e : A ≃⋆ₐ[R] B) (f h₁ h₂ h₃ h₄ h₅ h₆) : (⟨f, e, h₁, h₂, h₃, h₄, h₅, h₆⟩ : B ≃⋆ₐ[R] A) = e.symm := symm_bijective.Injective <| ext fun x => rfl -#align star_alg_equiv.mk_coe' StarAlgEquiv.mk_coe' +#align star_alg_equiv.mk_coe' StarAlgEquiv.mk_coe'ₓ @[simp] theorem symm_mk (f f') (h₁ h₂ h₃ h₄ h₅ h₆) : @@ -829,23 +1213,47 @@ theorem symm_mk (f f') (h₁ h₂ h₃ h₄ h₅ h₆) : toFun := f' invFun := f } := rfl -#align star_alg_equiv.symm_mk StarAlgEquiv.symm_mk - +#align star_alg_equiv.symm_mk StarAlgEquiv.symm_mkₓ + +/- warning: star_alg_equiv.refl_symm -> StarAlgEquiv.refl_symm is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A], Eq.{succ u2} (StarAlgEquiv.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_1 _inst_2 _inst_3 _inst_4) (StarAlgEquiv.symm.{u1, u2, u2} R A A _inst_1 _inst_2 _inst_3 _inst_4 _inst_1 _inst_2 _inst_3 _inst_4 (StarAlgEquiv.refl.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)) (StarAlgEquiv.refl.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A], Eq.{succ u2} (StarAlgEquiv.{u1, u2, u2} R A A _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3 _inst_4 _inst_4) (StarAlgEquiv.symm.{u1, u2, u2} R A A _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3 _inst_4 _inst_4 (StarAlgEquiv.refl.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4)) (StarAlgEquiv.refl.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.refl_symm StarAlgEquiv.refl_symmₓ'. -/ @[simp] theorem refl_symm : (StarAlgEquiv.refl : A ≃⋆ₐ[R] A).symm = StarAlgEquiv.refl := rfl #align star_alg_equiv.refl_symm StarAlgEquiv.refl_symm +/- warning: star_alg_equiv.to_ring_equiv_symm -> StarAlgEquiv.to_ringEquiv_symm is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] (f : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8), Eq.{max (succ u3) (succ u2)} (RingEquiv.{u3, u2} B A _inst_6 _inst_5 _inst_2 _inst_1) (RingEquiv.symm.{u2, u3} A B _inst_2 _inst_1 _inst_6 _inst_5 ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (RingEquiv.{u2, u3} A B _inst_2 _inst_1 _inst_6 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (RingEquiv.{u2, u3} A B _inst_2 _inst_1 _inst_6 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (RingEquiv.{u2, u3} A B _inst_2 _inst_1 _inst_6 _inst_5) (RingEquiv.hasCoeT.{max u2 u3, u2, u3} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_2 _inst_1 _inst_6 _inst_5 (StarAlgEquivClass.toRingEquivClass.{max u2 u3, u1, u2, u3} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 (StarAlgEquiv.starAlgEquivClass.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))))) f)) ((fun (a : Sort.{max (succ u3) (succ u2)}) (b : Sort.{max (succ u3) (succ u2)}) [self : HasLiftT.{max (succ u3) (succ u2), max (succ u3) (succ u2)} a b] => self.0) (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (RingEquiv.{u3, u2} B A _inst_6 _inst_5 _inst_2 _inst_1) (HasLiftT.mk.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (RingEquiv.{u3, u2} B A _inst_6 _inst_5 _inst_2 _inst_1) (CoeTCₓ.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (RingEquiv.{u3, u2} B A _inst_6 _inst_5 _inst_2 _inst_1) (RingEquiv.hasCoeT.{max u3 u2, u3, u2} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) B A _inst_6 _inst_5 _inst_2 _inst_1 (StarAlgEquivClass.toRingEquivClass.{max u3 u2, u1, u3, u2} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4 (StarAlgEquiv.starAlgEquivClass.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4))))) (StarAlgEquiv.symm.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f)) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u1} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u1} B] [_inst_5 : SMul.{u3, u2} R A] [_inst_6 : SMul.{u3, u1} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u1} B] (f : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8), Eq.{max (succ u2) (succ u1)} (RingEquiv.{u1, u2} B A _inst_4 _inst_3 _inst_2 _inst_1) (RingEquiv.symm.{u2, u1} A B _inst_3 _inst_4 _inst_1 _inst_2 (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_3 _inst_1 _inst_4 _inst_2 (StarAlgEquivClass.toRingEquivClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8)) f)) (RingEquivClass.toRingEquiv.{max u2 u1, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B A _inst_4 _inst_2 _inst_3 _inst_1 (StarAlgEquivClass.toRingEquivClass.{max u2 u1, u3, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) R B A _inst_2 _inst_4 _inst_6 _inst_8 _inst_1 _inst_3 _inst_5 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7)) (StarAlgEquiv.symm.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f)) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.to_ring_equiv_symm StarAlgEquiv.to_ringEquiv_symmₓ'. -/ -- should be a `simp` lemma, but causes a linter timeout theorem to_ringEquiv_symm (f : A ≃⋆ₐ[R] B) : (f : A ≃+* B).symm = f.symm := rfl #align star_alg_equiv.to_ring_equiv_symm StarAlgEquiv.to_ringEquiv_symm +/- warning: star_alg_equiv.symm_to_ring_equiv -> StarAlgEquiv.symm_to_ringEquiv is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] (e : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8), Eq.{max (succ u3) (succ u2)} (RingEquiv.{u3, u2} B A _inst_6 _inst_5 _inst_2 _inst_1) ((fun (a : Sort.{max (succ u3) (succ u2)}) (b : Sort.{max (succ u3) (succ u2)}) [self : HasLiftT.{max (succ u3) (succ u2), max (succ u3) (succ u2)} a b] => self.0) (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (RingEquiv.{u3, u2} B A _inst_6 _inst_5 _inst_2 _inst_1) (HasLiftT.mk.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (RingEquiv.{u3, u2} B A _inst_6 _inst_5 _inst_2 _inst_1) (CoeTCₓ.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (RingEquiv.{u3, u2} B A _inst_6 _inst_5 _inst_2 _inst_1) (RingEquiv.hasCoeT.{max u3 u2, u3, u2} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) B A _inst_6 _inst_5 _inst_2 _inst_1 (StarAlgEquivClass.toRingEquivClass.{max u3 u2, u1, u3, u2} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4 (StarAlgEquiv.starAlgEquivClass.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4))))) (StarAlgEquiv.symm.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e)) (RingEquiv.symm.{u2, u3} A B _inst_2 _inst_1 _inst_6 _inst_5 ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (RingEquiv.{u2, u3} A B _inst_2 _inst_1 _inst_6 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (RingEquiv.{u2, u3} A B _inst_2 _inst_1 _inst_6 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (RingEquiv.{u2, u3} A B _inst_2 _inst_1 _inst_6 _inst_5) (RingEquiv.hasCoeT.{max u2 u3, u2, u3} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_2 _inst_1 _inst_6 _inst_5 (StarAlgEquivClass.toRingEquivClass.{max u2 u3, u1, u2, u3} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 (StarAlgEquiv.starAlgEquivClass.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))))) e)) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u1} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u1} B] [_inst_5 : SMul.{u3, u2} R A] [_inst_6 : SMul.{u3, u1} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u1} B] (e : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8), Eq.{max (succ u2) (succ u1)} (RingEquiv.{u1, u2} B A _inst_4 _inst_3 _inst_2 _inst_1) (RingEquivClass.toRingEquiv.{max u2 u1, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B A _inst_4 _inst_2 _inst_3 _inst_1 (StarAlgEquivClass.toRingEquivClass.{max u2 u1, u3, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) R B A _inst_2 _inst_4 _inst_6 _inst_8 _inst_1 _inst_3 _inst_5 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7)) (StarAlgEquiv.symm.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e)) (RingEquiv.symm.{u2, u1} A B _inst_3 _inst_4 _inst_1 _inst_2 (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_3 _inst_1 _inst_4 _inst_2 (StarAlgEquivClass.toRingEquivClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8)) e)) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.symm_to_ring_equiv StarAlgEquiv.symm_to_ringEquivₓ'. -/ @[simp] theorem symm_to_ringEquiv (e : A ≃⋆ₐ[R] B) : (e.symm : B ≃+* A) = (e : A ≃+* B).symm := rfl #align star_alg_equiv.symm_to_ring_equiv StarAlgEquiv.symm_to_ringEquiv +/- warning: star_alg_equiv.trans -> StarAlgEquiv.trans is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] [_inst_9 : Add.{u4} C] [_inst_10 : Mul.{u4} C] [_inst_11 : SMul.{u1, u4} R C] [_inst_12 : Star.{u4} C], (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) -> (StarAlgEquiv.{u1, u3, u4} R B C _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) -> (StarAlgEquiv.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_9 _inst_10 _inst_11 _inst_12) +but is expected to have type + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u3} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u3} B] [_inst_5 : SMul.{u1, u2} R A] [_inst_6 : SMul.{u1, u3} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u3} B] [_inst_9 : Add.{u4} C] [_inst_10 : Mul.{u4} C] [_inst_11 : SMul.{u1, u4} R C] [_inst_12 : Star.{u4} C], (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) -> (StarAlgEquiv.{u1, u3, u4} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12) -> (StarAlgEquiv.{u1, u2, u4} R A C _inst_1 _inst_9 _inst_3 _inst_10 _inst_5 _inst_11 _inst_7 _inst_12) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.trans StarAlgEquiv.transₓ'. -/ /-- Star algebra equivalences are transitive. -/ @[trans] def trans (e₁ : A ≃⋆ₐ[R] B) (e₂ : B ≃⋆ₐ[R] C) : A ≃⋆ₐ[R] C := @@ -860,36 +1268,78 @@ def trans (e₁ : A ≃⋆ₐ[R] B) (e₂ : B ≃⋆ₐ[R] C) : A ≃⋆ₐ[R] C rw [e₁.map_star', e₂.map_star'] } #align star_alg_equiv.trans StarAlgEquiv.trans +/- warning: star_alg_equiv.apply_symm_apply -> StarAlgEquiv.apply_symm_apply is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] (e : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (x : B), Eq.{succ u3} B (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (fun (_x : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) => A -> B) (StarAlgEquiv.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) e (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) => B -> A) (StarAlgEquiv.hasCoeToFun.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (StarAlgEquiv.symm.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e) x)) x +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u1} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u1} B] [_inst_5 : SMul.{u3, u2} R A] [_inst_6 : SMul.{u3, u1} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u1} B] (e : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (x : B), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B (fun (a : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) a) (StarHomClass.toFunLike.{max u2 u1, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B A _inst_8 _inst_7 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) R B A _inst_2 _inst_4 _inst_6 _inst_8 _inst_1 _inst_3 _inst_5 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7))) (StarAlgEquiv.symm.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e) x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_7 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))) e (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) _x) (StarHomClass.toFunLike.{max u2 u1, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B A _inst_8 _inst_7 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) R B A _inst_2 _inst_4 _inst_6 _inst_8 _inst_1 _inst_3 _inst_5 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7))) (StarAlgEquiv.symm.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e) x)) x +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.apply_symm_apply StarAlgEquiv.apply_symm_applyₓ'. -/ @[simp] theorem apply_symm_apply (e : A ≃⋆ₐ[R] B) : ∀ x, e (e.symm x) = x := e.toRingEquiv.apply_symm_apply #align star_alg_equiv.apply_symm_apply StarAlgEquiv.apply_symm_apply +/- warning: star_alg_equiv.symm_apply_apply -> StarAlgEquiv.symm_apply_apply is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] (e : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (x : A), Eq.{succ u2} A (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) => B -> A) (StarAlgEquiv.hasCoeToFun.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (StarAlgEquiv.symm.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (fun (_x : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) => A -> B) (StarAlgEquiv.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) e x)) x +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u1} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u1} B] [_inst_5 : SMul.{u3, u2} R A] [_inst_6 : SMul.{u3, u1} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u1} B] (e : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (x : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_7 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))) e x)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) _x) (StarHomClass.toFunLike.{max u2 u1, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B A _inst_8 _inst_7 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) R B A _inst_2 _inst_4 _inst_6 _inst_8 _inst_1 _inst_3 _inst_5 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7))) (StarAlgEquiv.symm.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_7 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))) e x)) x +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.symm_apply_apply StarAlgEquiv.symm_apply_applyₓ'. -/ @[simp] theorem symm_apply_apply (e : A ≃⋆ₐ[R] B) : ∀ x, e.symm (e x) = x := e.toRingEquiv.symm_apply_apply #align star_alg_equiv.symm_apply_apply StarAlgEquiv.symm_apply_apply +/- warning: star_alg_equiv.symm_trans_apply -> StarAlgEquiv.symm_trans_apply is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] [_inst_9 : Add.{u4} C] [_inst_10 : Mul.{u4} C] [_inst_11 : SMul.{u1, u4} R C] [_inst_12 : Star.{u4} C] (e₁ : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (e₂ : StarAlgEquiv.{u1, u3, u4} R B C _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (x : C), Eq.{succ u2} A (coeFn.{max (succ u4) (succ u2), max (succ u4) (succ u2)} (StarAlgEquiv.{u1, u4, u2} R C A _inst_9 _inst_10 _inst_11 _inst_12 _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : StarAlgEquiv.{u1, u4, u2} R C A _inst_9 _inst_10 _inst_11 _inst_12 _inst_1 _inst_2 _inst_3 _inst_4) => C -> A) (StarAlgEquiv.hasCoeToFun.{u1, u4, u2} R C A _inst_9 _inst_10 _inst_11 _inst_12 _inst_1 _inst_2 _inst_3 _inst_4) (StarAlgEquiv.symm.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_9 _inst_10 _inst_11 _inst_12 (StarAlgEquiv.trans.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 e₁ e₂)) x) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) => B -> A) (StarAlgEquiv.hasCoeToFun.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (StarAlgEquiv.symm.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e₁) (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (StarAlgEquiv.{u1, u4, u3} R C B _inst_9 _inst_10 _inst_11 _inst_12 _inst_5 _inst_6 _inst_7 _inst_8) (fun (_x : StarAlgEquiv.{u1, u4, u3} R C B _inst_9 _inst_10 _inst_11 _inst_12 _inst_5 _inst_6 _inst_7 _inst_8) => C -> B) (StarAlgEquiv.hasCoeToFun.{u1, u4, u3} R C B _inst_9 _inst_10 _inst_11 _inst_12 _inst_5 _inst_6 _inst_7 _inst_8) (StarAlgEquiv.symm.{u1, u3, u4} R B C _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 e₂) x)) +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Add.{u3} A] [_inst_2 : Add.{u2} B] [_inst_3 : Mul.{u3} A] [_inst_4 : Mul.{u2} B] [_inst_5 : SMul.{u4, u3} R A] [_inst_6 : SMul.{u4, u2} R B] [_inst_7 : Star.{u3} A] [_inst_8 : Star.{u2} B] [_inst_9 : Add.{u1} C] [_inst_10 : Mul.{u1} C] [_inst_11 : SMul.{u4, u1} R C] [_inst_12 : Star.{u1} C] (e₁ : StarAlgEquiv.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (e₂ : StarAlgEquiv.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12) (x : C), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : C) => A) x) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (StarAlgEquiv.{u4, u1, u3} R C A _inst_9 _inst_1 _inst_10 _inst_3 _inst_11 _inst_5 _inst_12 _inst_7) C (fun (_x : C) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : C) => A) _x) (StarHomClass.toFunLike.{max u3 u1, u1, u3} (StarAlgEquiv.{u4, u1, u3} R C A _inst_9 _inst_1 _inst_10 _inst_3 _inst_11 _inst_5 _inst_12 _inst_7) C A _inst_12 _inst_7 (StarAlgEquivClass.instStarHomClass.{max u3 u1, u4, u1, u3} (StarAlgEquiv.{u4, u1, u3} R C A _inst_9 _inst_1 _inst_10 _inst_3 _inst_11 _inst_5 _inst_12 _inst_7) R C A _inst_9 _inst_10 _inst_11 _inst_12 _inst_1 _inst_3 _inst_5 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u4, u1, u3} R C A _inst_9 _inst_1 _inst_10 _inst_3 _inst_11 _inst_5 _inst_12 _inst_7))) (StarAlgEquiv.symm.{u4, u3, u1} R A C _inst_1 _inst_9 _inst_3 _inst_10 _inst_5 _inst_11 _inst_7 _inst_12 (StarAlgEquiv.trans.{u4, u3, u2, u1} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 e₁ e₂)) x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (StarAlgEquiv.{u4, u2, u3} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) _x) (StarHomClass.toFunLike.{max u3 u2, u2, u3} (StarAlgEquiv.{u4, u2, u3} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B A _inst_8 _inst_7 (StarAlgEquivClass.instStarHomClass.{max u3 u2, u4, u2, u3} (StarAlgEquiv.{u4, u2, u3} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) R B A _inst_2 _inst_4 _inst_6 _inst_8 _inst_1 _inst_3 _inst_5 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u4, u2, u3} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7))) (StarAlgEquiv.symm.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e₁) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (StarAlgEquiv.{u4, u1, u2} R C B _inst_9 _inst_2 _inst_10 _inst_4 _inst_11 _inst_6 _inst_12 _inst_8) C (fun (_x : C) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : C) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u1, u2} (StarAlgEquiv.{u4, u1, u2} R C B _inst_9 _inst_2 _inst_10 _inst_4 _inst_11 _inst_6 _inst_12 _inst_8) C B _inst_12 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u4, u1, u2} (StarAlgEquiv.{u4, u1, u2} R C B _inst_9 _inst_2 _inst_10 _inst_4 _inst_11 _inst_6 _inst_12 _inst_8) R C B _inst_9 _inst_10 _inst_11 _inst_12 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u4, u1, u2} R C B _inst_9 _inst_2 _inst_10 _inst_4 _inst_11 _inst_6 _inst_12 _inst_8))) (StarAlgEquiv.symm.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12 e₂) x)) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.symm_trans_apply StarAlgEquiv.symm_trans_applyₓ'. -/ @[simp] theorem symm_trans_apply (e₁ : A ≃⋆ₐ[R] B) (e₂ : B ≃⋆ₐ[R] C) (x : C) : (e₁.trans e₂).symm x = e₁.symm (e₂.symm x) := rfl #align star_alg_equiv.symm_trans_apply StarAlgEquiv.symm_trans_apply +/- warning: star_alg_equiv.coe_trans -> StarAlgEquiv.coe_trans is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] [_inst_9 : Add.{u4} C] [_inst_10 : Mul.{u4} C] [_inst_11 : SMul.{u1, u4} R C] [_inst_12 : Star.{u4} C] (e₁ : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (e₂ : StarAlgEquiv.{u1, u3, u4} R B C _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12), Eq.{max (succ u2) (succ u4)} (A -> C) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (StarAlgEquiv.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_9 _inst_10 _inst_11 _inst_12) (fun (_x : StarAlgEquiv.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_9 _inst_10 _inst_11 _inst_12) => A -> C) (StarAlgEquiv.hasCoeToFun.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_9 _inst_10 _inst_11 _inst_12) (StarAlgEquiv.trans.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 e₁ e₂)) (Function.comp.{succ u2, succ u3, succ u4} A B C (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (StarAlgEquiv.{u1, u3, u4} R B C _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (fun (_x : StarAlgEquiv.{u1, u3, u4} R B C _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) => B -> C) (StarAlgEquiv.hasCoeToFun.{u1, u3, u4} R B C _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) e₂) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (fun (_x : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) => A -> B) (StarAlgEquiv.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) e₁)) +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Add.{u3} A] [_inst_2 : Add.{u2} B] [_inst_3 : Mul.{u3} A] [_inst_4 : Mul.{u2} B] [_inst_5 : SMul.{u4, u3} R A] [_inst_6 : SMul.{u4, u2} R B] [_inst_7 : Star.{u3} A] [_inst_8 : Star.{u2} B] [_inst_9 : Add.{u1} C] [_inst_10 : Mul.{u1} C] [_inst_11 : SMul.{u4, u1} R C] [_inst_12 : Star.{u1} C] (e₁ : StarAlgEquiv.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (e₂ : StarAlgEquiv.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12), Eq.{max (succ u3) (succ u1)} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) ᾰ) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (StarAlgEquiv.{u4, u3, u1} R A C _inst_1 _inst_9 _inst_3 _inst_10 _inst_5 _inst_11 _inst_7 _inst_12) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) _x) (StarHomClass.toFunLike.{max u3 u1, u3, u1} (StarAlgEquiv.{u4, u3, u1} R A C _inst_1 _inst_9 _inst_3 _inst_10 _inst_5 _inst_11 _inst_7 _inst_12) A C _inst_7 _inst_12 (StarAlgEquivClass.instStarHomClass.{max u3 u1, u4, u3, u1} (StarAlgEquiv.{u4, u3, u1} R A C _inst_1 _inst_9 _inst_3 _inst_10 _inst_5 _inst_11 _inst_7 _inst_12) R A C _inst_1 _inst_3 _inst_5 _inst_7 _inst_9 _inst_10 _inst_11 _inst_12 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u4, u3, u1} R A C _inst_1 _inst_9 _inst_3 _inst_10 _inst_5 _inst_11 _inst_7 _inst_12))) (StarAlgEquiv.trans.{u4, u3, u2, u1} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 e₁ e₂)) (Function.comp.{succ u3, succ u2, succ u1} A B C (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => C) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12) B C _inst_8 _inst_12 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u4, u2, u1} (StarAlgEquiv.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12) R B C _inst_2 _inst_4 _inst_6 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12))) e₂) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (StarAlgEquiv.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u3 u2, u3, u2} (StarAlgEquiv.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_7 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u3 u2, u4, u3, u2} (StarAlgEquiv.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))) e₁)) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.coe_trans StarAlgEquiv.coe_transₓ'. -/ @[simp] theorem coe_trans (e₁ : A ≃⋆ₐ[R] B) (e₂ : B ≃⋆ₐ[R] C) : ⇑(e₁.trans e₂) = e₂ ∘ e₁ := rfl #align star_alg_equiv.coe_trans StarAlgEquiv.coe_trans +/- warning: star_alg_equiv.trans_apply -> StarAlgEquiv.trans_apply is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} {C : Type.{u4}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] [_inst_9 : Add.{u4} C] [_inst_10 : Mul.{u4} C] [_inst_11 : SMul.{u1, u4} R C] [_inst_12 : Star.{u4} C] (e₁ : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (e₂ : StarAlgEquiv.{u1, u3, u4} R B C _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (x : A), Eq.{succ u4} C (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (StarAlgEquiv.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_9 _inst_10 _inst_11 _inst_12) (fun (_x : StarAlgEquiv.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_9 _inst_10 _inst_11 _inst_12) => A -> C) (StarAlgEquiv.hasCoeToFun.{u1, u2, u4} R A C _inst_1 _inst_2 _inst_3 _inst_4 _inst_9 _inst_10 _inst_11 _inst_12) (StarAlgEquiv.trans.{u1, u2, u3, u4} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 e₁ e₂) x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (StarAlgEquiv.{u1, u3, u4} R B C _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (fun (_x : StarAlgEquiv.{u1, u3, u4} R B C _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) => B -> C) (StarAlgEquiv.hasCoeToFun.{u1, u3, u4} R B C _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) e₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (fun (_x : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) => A -> B) (StarAlgEquiv.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) e₁ x)) +but is expected to have type + forall {R : Type.{u4}} {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Add.{u3} A] [_inst_2 : Add.{u2} B] [_inst_3 : Mul.{u3} A] [_inst_4 : Mul.{u2} B] [_inst_5 : SMul.{u4, u3} R A] [_inst_6 : SMul.{u4, u2} R B] [_inst_7 : Star.{u3} A] [_inst_8 : Star.{u2} B] [_inst_9 : Add.{u1} C] [_inst_10 : Mul.{u1} C] [_inst_11 : SMul.{u4, u1} R C] [_inst_12 : Star.{u1} C] (e₁ : StarAlgEquiv.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (e₂ : StarAlgEquiv.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12) (x : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (StarAlgEquiv.{u4, u3, u1} R A C _inst_1 _inst_9 _inst_3 _inst_10 _inst_5 _inst_11 _inst_7 _inst_12) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => C) _x) (StarHomClass.toFunLike.{max u3 u1, u3, u1} (StarAlgEquiv.{u4, u3, u1} R A C _inst_1 _inst_9 _inst_3 _inst_10 _inst_5 _inst_11 _inst_7 _inst_12) A C _inst_7 _inst_12 (StarAlgEquivClass.instStarHomClass.{max u3 u1, u4, u3, u1} (StarAlgEquiv.{u4, u3, u1} R A C _inst_1 _inst_9 _inst_3 _inst_10 _inst_5 _inst_11 _inst_7 _inst_12) R A C _inst_1 _inst_3 _inst_5 _inst_7 _inst_9 _inst_10 _inst_11 _inst_12 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u4, u3, u1} R A C _inst_1 _inst_9 _inst_3 _inst_10 _inst_5 _inst_11 _inst_7 _inst_12))) (StarAlgEquiv.trans.{u4, u3, u2, u1} R A B C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 e₁ e₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => C) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12) B C _inst_8 _inst_12 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u4, u2, u1} (StarAlgEquiv.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12) R B C _inst_2 _inst_4 _inst_6 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u4, u2, u1} R B C _inst_2 _inst_9 _inst_4 _inst_10 _inst_6 _inst_11 _inst_8 _inst_12))) e₂ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (StarAlgEquiv.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u3 u2, u3, u2} (StarAlgEquiv.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_7 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u3 u2, u4, u3, u2} (StarAlgEquiv.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u4, u3, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))) e₁ x)) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.trans_apply StarAlgEquiv.trans_applyₓ'. -/ @[simp] theorem trans_apply (e₁ : A ≃⋆ₐ[R] B) (e₂ : B ≃⋆ₐ[R] C) (x : A) : (e₁.trans e₂) x = e₂ (e₁ x) := rfl #align star_alg_equiv.trans_apply StarAlgEquiv.trans_apply +/- warning: star_alg_equiv.left_inverse_symm -> StarAlgEquiv.leftInverse_symm is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] (e : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8), Function.LeftInverse.{succ u2, succ u3} A B (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) => B -> A) (StarAlgEquiv.hasCoeToFun.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (StarAlgEquiv.symm.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (fun (_x : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) => A -> B) (StarAlgEquiv.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) e) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u1} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u1} B] [_inst_5 : SMul.{u3, u2} R A] [_inst_6 : SMul.{u3, u1} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u1} B] (e : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8), Function.LeftInverse.{succ u2, succ u1} A B (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) _x) (StarHomClass.toFunLike.{max u2 u1, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B A _inst_8 _inst_7 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) R B A _inst_2 _inst_4 _inst_6 _inst_8 _inst_1 _inst_3 _inst_5 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7))) (StarAlgEquiv.symm.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_7 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))) e) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.left_inverse_symm StarAlgEquiv.leftInverse_symmₓ'. -/ theorem leftInverse_symm (e : A ≃⋆ₐ[R] B) : Function.LeftInverse e.symm e := e.left_inv #align star_alg_equiv.left_inverse_symm StarAlgEquiv.leftInverse_symm +/- warning: star_alg_equiv.right_inverse_symm -> StarAlgEquiv.rightInverse_symm is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : Add.{u2} A] [_inst_2 : Mul.{u2} A] [_inst_3 : SMul.{u1, u2} R A] [_inst_4 : Star.{u2} A] [_inst_5 : Add.{u3} B] [_inst_6 : Mul.{u3} B] [_inst_7 : SMul.{u1, u3} R B] [_inst_8 : Star.{u3} B] (e : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8), Function.RightInverse.{succ u2, succ u3} A B (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : StarAlgEquiv.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) => B -> A) (StarAlgEquiv.hasCoeToFun.{u1, u3, u2} R B A _inst_5 _inst_6 _inst_7 _inst_8 _inst_1 _inst_2 _inst_3 _inst_4) (StarAlgEquiv.symm.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) (fun (_x : StarAlgEquiv.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) => A -> B) (StarAlgEquiv.hasCoeToFun.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) e) +but is expected to have type + forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : Add.{u2} A] [_inst_2 : Add.{u1} B] [_inst_3 : Mul.{u2} A] [_inst_4 : Mul.{u1} B] [_inst_5 : SMul.{u3, u2} R A] [_inst_6 : SMul.{u3, u1} R B] [_inst_7 : Star.{u2} A] [_inst_8 : Star.{u1} B] (e : StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8), Function.RightInverse.{succ u2, succ u1} A B (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) _x) (StarHomClass.toFunLike.{max u2 u1, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) B A _inst_8 _inst_7 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u1, u2} (StarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7) R B A _inst_2 _inst_4 _inst_6 _inst_8 _inst_1 _inst_3 _inst_5 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u1, u2} R B A _inst_2 _inst_1 _inst_4 _inst_3 _inst_6 _inst_5 _inst_8 _inst_7))) (StarAlgEquiv.symm.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 e)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u2 u1, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) A B _inst_7 _inst_8 (StarAlgEquivClass.instStarHomClass.{max u2 u1, u3, u2, u1} (StarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8) R A B _inst_1 _inst_3 _inst_5 _inst_7 _inst_2 _inst_4 _inst_6 _inst_8 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u3, u2, u1} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8))) e) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.right_inverse_symm StarAlgEquiv.rightInverse_symmₓ'. -/ theorem rightInverse_symm (e : A ≃⋆ₐ[R] B) : Function.RightInverse e.symm e := e.right_inv #align star_alg_equiv.right_inverse_symm StarAlgEquiv.rightInverse_symm @@ -908,6 +1358,12 @@ variable [hF : NonUnitalStarAlgHomClass F R A B] [NonUnitalStarAlgHomClass G R B include hF +/- warning: star_alg_equiv.of_star_alg_hom -> StarAlgEquiv.ofStarAlgHom is a dubious translation: +lean 3 declaration is + forall {F : Type.{u1}} {G : Type.{u2}} {R : Type.{u3}} {A : Type.{u4}} {B : Type.{u5}} [_inst_1 : Monoid.{u3} R] [_inst_2 : NonUnitalNonAssocSemiring.{u4} A] [_inst_3 : DistribMulAction.{u3, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))] [_inst_4 : Star.{u4} A] [_inst_5 : NonUnitalNonAssocSemiring.{u5} B] [_inst_6 : DistribMulAction.{u3, u5} R B _inst_1 (AddCommMonoid.toAddMonoid.{u5} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} B _inst_5))] [_inst_7 : Star.{u5} B] [hF : NonUnitalStarAlgHomClass.{u1, u3, u4, u5} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6] [_inst_8 : NonUnitalStarAlgHomClass.{u2, u3, u5, u4} G R B A _inst_1 _inst_7 _inst_4 _inst_5 _inst_2 _inst_6 _inst_3] (f : F) (g : G), (forall (x : A), Eq.{succ u4} A (coeFn.{succ u2, max (succ u5) (succ u4)} G (fun (_x : G) => B -> A) (FunLike.hasCoeToFun.{succ u2, succ u5, succ u4} G B (fun (_x : B) => A) (StarHomClass.toFunLike.{u2, u5, u4} G B A _inst_7 _inst_4 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u3, u5, u4} G R B A _inst_1 _inst_7 _inst_4 _inst_5 _inst_2 _inst_6 _inst_3 _inst_8))) g (coeFn.{succ u1, max (succ u4) (succ u5)} F (fun (_x : F) => A -> B) (FunLike.hasCoeToFun.{succ u1, succ u4, succ u5} F A (fun (_x : A) => B) (StarHomClass.toFunLike.{u1, u4, u5} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u1, u3, u4, u5} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF))) f x)) x) -> (forall (x : B), Eq.{succ u5} B (coeFn.{succ u1, max (succ u4) (succ u5)} F (fun (_x : F) => A -> B) (FunLike.hasCoeToFun.{succ u1, succ u4, succ u5} F A (fun (_x : A) => B) (StarHomClass.toFunLike.{u1, u4, u5} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u1, u3, u4, u5} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF))) f (coeFn.{succ u2, max (succ u5) (succ u4)} G (fun (_x : G) => B -> A) (FunLike.hasCoeToFun.{succ u2, succ u5, succ u4} G B (fun (_x : B) => A) (StarHomClass.toFunLike.{u2, u5, u4} G B A _inst_7 _inst_4 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u3, u5, u4} G R B A _inst_1 _inst_7 _inst_4 _inst_5 _inst_2 _inst_6 _inst_3 _inst_8))) g x)) x) -> (StarAlgEquiv.{u3, u4, u5} R A B (Distrib.toHasAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toHasMul.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (SMulZeroClass.toHasSmul.{u3, u4} R A (AddZeroClass.toHasZero.{u4} A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)))) (DistribSMul.toSmulZeroClass.{u3, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u3, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) _inst_4 (Distrib.toHasAdd.{u5} B (NonUnitalNonAssocSemiring.toDistrib.{u5} B _inst_5)) (Distrib.toHasMul.{u5} B (NonUnitalNonAssocSemiring.toDistrib.{u5} B _inst_5)) (SMulZeroClass.toHasSmul.{u3, u5} R B (AddZeroClass.toHasZero.{u5} B (AddMonoid.toAddZeroClass.{u5} B (AddCommMonoid.toAddMonoid.{u5} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} B _inst_5)))) (DistribSMul.toSmulZeroClass.{u3, u5} R B (AddMonoid.toAddZeroClass.{u5} B (AddCommMonoid.toAddMonoid.{u5} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} B _inst_5))) (DistribMulAction.toDistribSMul.{u3, u5} R B _inst_1 (AddCommMonoid.toAddMonoid.{u5} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} B _inst_5)) _inst_6))) _inst_7) +but is expected to have type + forall {F : Type.{u1}} {G : Type.{u2}} {R : Type.{u3}} {A : Type.{u4}} {B : Type.{u5}} [_inst_1 : Monoid.{u3} R] [_inst_2 : NonUnitalNonAssocSemiring.{u4} A] [_inst_3 : DistribMulAction.{u3, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))] [_inst_4 : Star.{u4} A] [_inst_5 : NonUnitalNonAssocSemiring.{u5} B] [_inst_6 : DistribMulAction.{u3, u5} R B _inst_1 (AddCommMonoid.toAddMonoid.{u5} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} B _inst_5))] [_inst_7 : Star.{u5} B] [hF : NonUnitalStarAlgHomClass.{u1, u3, u4, u5} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6] [_inst_8 : NonUnitalStarAlgHomClass.{u2, u3, u5, u4} G R B A _inst_1 _inst_7 _inst_4 _inst_5 _inst_2 _inst_6 _inst_3] (f : F) (g : G), (forall (x : A), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) (FunLike.coe.{succ u1, succ u4, succ u5} F A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (StarHomClass.toFunLike.{u1, u4, u5} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u1, u3, u4, u5} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF)) f x)) (FunLike.coe.{succ u2, succ u5, succ u4} G B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) _x) (StarHomClass.toFunLike.{u2, u5, u4} G B A _inst_7 _inst_4 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u3, u5, u4} G R B A _inst_1 _inst_7 _inst_4 _inst_5 _inst_2 _inst_6 _inst_3 _inst_8)) g (FunLike.coe.{succ u1, succ u4, succ u5} F A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{u1, u4, u5} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u1, u3, u4, u5} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF)) f x)) x) -> (forall (x : B), Eq.{succ u5} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) (FunLike.coe.{succ u2, succ u5, succ u4} G B (fun (a : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) a) (StarHomClass.toFunLike.{u2, u5, u4} G B A _inst_7 _inst_4 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u3, u5, u4} G R B A _inst_1 _inst_7 _inst_4 _inst_5 _inst_2 _inst_6 _inst_3 _inst_8)) g x)) (FunLike.coe.{succ u1, succ u4, succ u5} F A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{u1, u4, u5} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u1, u3, u4, u5} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF)) f (FunLike.coe.{succ u2, succ u5, succ u4} G B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : B) => A) _x) (StarHomClass.toFunLike.{u2, u5, u4} G B A _inst_7 _inst_4 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u3, u5, u4} G R B A _inst_1 _inst_7 _inst_4 _inst_5 _inst_2 _inst_6 _inst_3 _inst_8)) g x)) x) -> (StarAlgEquiv.{u3, u4, u5} R A B (Distrib.toAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toAdd.{u5} B (NonUnitalNonAssocSemiring.toDistrib.{u5} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u4} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u5} B _inst_5) (SMulZeroClass.toSMul.{u3, u4} R A (MulZeroClass.toZero.{u4} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} A _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u3, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u3, u5} R B (MulZeroClass.toZero.{u5} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} B _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u5} R B (AddMonoid.toAddZeroClass.{u5} B (AddCommMonoid.toAddMonoid.{u5} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} B _inst_5))) (DistribMulAction.toDistribSMul.{u3, u5} R B _inst_1 (AddCommMonoid.toAddMonoid.{u5} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} B _inst_5)) _inst_6))) _inst_4 _inst_7) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.of_star_alg_hom StarAlgEquiv.ofStarAlgHomₓ'. -/ /-- If a (unital or non-unital) star algebra morphism has an inverse, it is an isomorphism of star algebras. -/ @[simps] @@ -923,6 +1379,12 @@ def ofStarAlgHom (f : F) (g : G) (h₁ : ∀ x, g (f x) = x) (h₂ : ∀ x, f (g map_star' := map_star f #align star_alg_equiv.of_star_alg_hom StarAlgEquiv.ofStarAlgHom +/- warning: star_alg_equiv.of_bijective -> StarAlgEquiv.ofBijective is a dubious translation: +lean 3 declaration is + forall {F : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} {B : Type.{u4}} [_inst_1 : Monoid.{u2} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : Star.{u3} A] [_inst_5 : NonUnitalNonAssocSemiring.{u4} B] [_inst_6 : DistribMulAction.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))] [_inst_7 : Star.{u4} B] [hF : NonUnitalStarAlgHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6] (f : F), (Function.Bijective.{succ u3, succ u4} A B (coeFn.{succ u1, max (succ u3) (succ u4)} F (fun (_x : F) => A -> B) (FunLike.hasCoeToFun.{succ u1, succ u3, succ u4} F A (fun (_x : A) => B) (StarHomClass.toFunLike.{u1, u3, u4} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF))) f)) -> (StarAlgEquiv.{u2, u3, u4} R A B (Distrib.toHasAdd.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)))) (DistribSMul.toSmulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_3))) _inst_4 (Distrib.toHasAdd.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (Distrib.toHasMul.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (SMulZeroClass.toHasSmul.{u2, u4} R B (AddZeroClass.toHasZero.{u4} B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)))) (DistribSMul.toSmulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))) (DistribMulAction.toDistribSMul.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)) _inst_6))) _inst_7) +but is expected to have type + forall {F : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} {B : Type.{u4}} [_inst_1 : Monoid.{u2} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : Star.{u3} A] [_inst_5 : NonUnitalNonAssocSemiring.{u4} B] [_inst_6 : DistribMulAction.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))] [_inst_7 : Star.{u4} B] [hF : NonUnitalStarAlgHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6] (f : F), (Function.Bijective.{succ u3, succ u4} A B (FunLike.coe.{succ u1, succ u3, succ u4} F A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{u1, u3, u4} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF)) f)) -> (StarAlgEquiv.{u2, u3, u4} R A B (Distrib.toAdd.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (Distrib.toAdd.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u3} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u4} B _inst_5) (SMulZeroClass.toSMul.{u2, u3} R A (MulZeroClass.toZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u2, u4} R B (MulZeroClass.toZero.{u4} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} B _inst_5)) (DistribSMul.toSMulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))) (DistribMulAction.toDistribSMul.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)) _inst_6))) _inst_4 _inst_7) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.of_bijective StarAlgEquiv.ofBijectiveₓ'. -/ /-- Promote a bijective star algebra homomorphism to a star algebra equivalence. -/ noncomputable def ofBijective (f : F) (hf : Function.Bijective f) : A ≃⋆ₐ[R] B := { @@ -933,12 +1395,24 @@ noncomputable def ofBijective (f : F) (hf : Function.Bijective f) : A ≃⋆ₐ[ map_smul' := map_smul f } #align star_alg_equiv.of_bijective StarAlgEquiv.ofBijective +/- warning: star_alg_equiv.coe_of_bijective -> StarAlgEquiv.coe_ofBijective is a dubious translation: +lean 3 declaration is + forall {F : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} {B : Type.{u4}} [_inst_1 : Monoid.{u2} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : Star.{u3} A] [_inst_5 : NonUnitalNonAssocSemiring.{u4} B] [_inst_6 : DistribMulAction.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))] [_inst_7 : Star.{u4} B] [hF : NonUnitalStarAlgHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6] {f : F} (hf : Function.Bijective.{succ u3, succ u4} A B (coeFn.{succ u1, max (succ u3) (succ u4)} F (fun (_x : F) => A -> B) (FunLike.hasCoeToFun.{succ u1, succ u3, succ u4} F A (fun (_x : A) => B) (StarHomClass.toFunLike.{u1, u3, u4} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF))) f)), Eq.{max (succ u3) (succ u4)} ((fun (_x : StarAlgEquiv.{u2, u3, u4} R A B (Distrib.toHasAdd.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)))) (DistribSMul.toSmulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_3))) _inst_4 (Distrib.toHasAdd.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (Distrib.toHasMul.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (SMulZeroClass.toHasSmul.{u2, u4} R B (AddZeroClass.toHasZero.{u4} B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)))) (DistribSMul.toSmulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))) (DistribMulAction.toDistribSMul.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)) _inst_6))) _inst_7) => A -> B) (StarAlgEquiv.ofBijective.{u1, u2, u3, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 hF f hf)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (StarAlgEquiv.{u2, u3, u4} R A B (Distrib.toHasAdd.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)))) (DistribSMul.toSmulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_3))) _inst_4 (Distrib.toHasAdd.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (Distrib.toHasMul.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (SMulZeroClass.toHasSmul.{u2, u4} R B (AddZeroClass.toHasZero.{u4} B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)))) (DistribSMul.toSmulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))) (DistribMulAction.toDistribSMul.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)) _inst_6))) _inst_7) (fun (_x : StarAlgEquiv.{u2, u3, u4} R A B (Distrib.toHasAdd.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)))) (DistribSMul.toSmulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_3))) _inst_4 (Distrib.toHasAdd.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (Distrib.toHasMul.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (SMulZeroClass.toHasSmul.{u2, u4} R B (AddZeroClass.toHasZero.{u4} B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)))) (DistribSMul.toSmulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))) (DistribMulAction.toDistribSMul.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)) _inst_6))) _inst_7) => A -> B) (StarAlgEquiv.hasCoeToFun.{u2, u3, u4} R A B (Distrib.toHasAdd.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)))) (DistribSMul.toSmulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_3))) _inst_4 (Distrib.toHasAdd.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (Distrib.toHasMul.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (SMulZeroClass.toHasSmul.{u2, u4} R B (AddZeroClass.toHasZero.{u4} B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)))) (DistribSMul.toSmulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))) (DistribMulAction.toDistribSMul.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)) _inst_6))) _inst_7) (StarAlgEquiv.ofBijective.{u1, u2, u3, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 hF f hf)) (coeFn.{succ u1, max (succ u3) (succ u4)} F (fun (_x : F) => A -> B) (FunLike.hasCoeToFun.{succ u1, succ u3, succ u4} F A (fun (_x : A) => B) (StarHomClass.toFunLike.{u1, u3, u4} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF))) f) +but is expected to have type + forall {F : Type.{u2}} {R : Type.{u1}} {A : Type.{u4}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u4} A] [_inst_3 : DistribMulAction.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))] [_inst_4 : Star.{u4} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [hF : NonUnitalStarAlgHomClass.{u2, u1, u4, u3} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6] {f : F} (hf : Function.Bijective.{succ u4, succ u3} A B (FunLike.coe.{succ u2, succ u4, succ u3} F A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{u2, u4, u3} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u1, u4, u3} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF)) f)), Eq.{max (succ u4) (succ u3)} (forall (a : A), (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (StarAlgEquiv.{u1, u4, u3} R A B (Distrib.toAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toAdd.{u3} B (NonUnitalNonAssocSemiring.toDistrib.{u3} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u4} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} B _inst_5) (SMulZeroClass.toSMul.{u1, u4} R A (MulZeroClass.toZero.{u4} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} A _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u1, u3} R B (MulZeroClass.toZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u3} R B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_6))) _inst_4 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u4 u3, u4, u3} (StarAlgEquiv.{u1, u4, u3} R A B (Distrib.toAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toAdd.{u3} B (NonUnitalNonAssocSemiring.toDistrib.{u3} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u4} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} B _inst_5) (SMulZeroClass.toSMul.{u1, u4} R A (MulZeroClass.toZero.{u4} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} A _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u1, u3} R B (MulZeroClass.toZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u3} R B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_6))) _inst_4 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u4 u3, u1, u4, u3} (StarAlgEquiv.{u1, u4, u3} R A B (Distrib.toAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toAdd.{u3} B (NonUnitalNonAssocSemiring.toDistrib.{u3} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u4} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} B _inst_5) (SMulZeroClass.toSMul.{u1, u4} R A (MulZeroClass.toZero.{u4} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} A _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u1, u3} R B (MulZeroClass.toZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u3} R B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_6))) _inst_4 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (StarAlgEquivClass.instNonUnitalStarAlgHomClass.{max u4 u3, u1, u4, u3} (StarAlgEquiv.{u1, u4, u3} R A B (Distrib.toAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toAdd.{u3} B (NonUnitalNonAssocSemiring.toDistrib.{u3} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u4} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} B _inst_5) (SMulZeroClass.toSMul.{u1, u4} R A (MulZeroClass.toZero.{u4} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} A _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u1, u3} R B (MulZeroClass.toZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u3} R B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_6))) _inst_4 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u1, u4, u3} R A B (Distrib.toAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toAdd.{u3} B (NonUnitalNonAssocSemiring.toDistrib.{u3} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u4} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} B _inst_5) (SMulZeroClass.toSMul.{u1, u4} R A (MulZeroClass.toZero.{u4} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} A _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u1, u3} R B (MulZeroClass.toZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u3} R B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_6))) _inst_4 _inst_7)))) (StarAlgEquiv.ofBijective.{u2, u1, u4, u3} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 hF f hf)) (FunLike.coe.{succ u2, succ u4, succ u3} F A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{u2, u4, u3} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u1, u4, u3} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF)) f) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.coe_of_bijective StarAlgEquiv.coe_ofBijectiveₓ'. -/ @[simp] theorem coe_ofBijective {f : F} (hf : Function.Bijective f) : (StarAlgEquiv.ofBijective f hf : A → B) = f := rfl #align star_alg_equiv.coe_of_bijective StarAlgEquiv.coe_ofBijective +/- warning: star_alg_equiv.of_bijective_apply -> StarAlgEquiv.ofBijective_apply is a dubious translation: +lean 3 declaration is + forall {F : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} {B : Type.{u4}} [_inst_1 : Monoid.{u2} R] [_inst_2 : NonUnitalNonAssocSemiring.{u3} A] [_inst_3 : DistribMulAction.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))] [_inst_4 : Star.{u3} A] [_inst_5 : NonUnitalNonAssocSemiring.{u4} B] [_inst_6 : DistribMulAction.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))] [_inst_7 : Star.{u4} B] [hF : NonUnitalStarAlgHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6] {f : F} (hf : Function.Bijective.{succ u3, succ u4} A B (coeFn.{succ u1, max (succ u3) (succ u4)} F (fun (_x : F) => A -> B) (FunLike.hasCoeToFun.{succ u1, succ u3, succ u4} F A (fun (_x : A) => B) (StarHomClass.toFunLike.{u1, u3, u4} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF))) f)) (a : A), Eq.{succ u4} B (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (StarAlgEquiv.{u2, u3, u4} R A B (Distrib.toHasAdd.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)))) (DistribSMul.toSmulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_3))) _inst_4 (Distrib.toHasAdd.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (Distrib.toHasMul.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (SMulZeroClass.toHasSmul.{u2, u4} R B (AddZeroClass.toHasZero.{u4} B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)))) (DistribSMul.toSmulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))) (DistribMulAction.toDistribSMul.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)) _inst_6))) _inst_7) (fun (_x : StarAlgEquiv.{u2, u3, u4} R A B (Distrib.toHasAdd.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)))) (DistribSMul.toSmulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_3))) _inst_4 (Distrib.toHasAdd.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (Distrib.toHasMul.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (SMulZeroClass.toHasSmul.{u2, u4} R B (AddZeroClass.toHasZero.{u4} B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)))) (DistribSMul.toSmulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))) (DistribMulAction.toDistribSMul.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)) _inst_6))) _inst_7) => A -> B) (StarAlgEquiv.hasCoeToFun.{u2, u3, u4} R A B (Distrib.toHasAdd.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (Distrib.toHasMul.{u3} A (NonUnitalNonAssocSemiring.toDistrib.{u3} A _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)))) (DistribSMul.toSmulZeroClass.{u2, u3} R A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} R A _inst_1 (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A _inst_2)) _inst_3))) _inst_4 (Distrib.toHasAdd.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (Distrib.toHasMul.{u4} B (NonUnitalNonAssocSemiring.toDistrib.{u4} B _inst_5)) (SMulZeroClass.toHasSmul.{u2, u4} R B (AddZeroClass.toHasZero.{u4} B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)))) (DistribSMul.toSmulZeroClass.{u2, u4} R B (AddMonoid.toAddZeroClass.{u4} B (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5))) (DistribMulAction.toDistribSMul.{u2, u4} R B _inst_1 (AddCommMonoid.toAddMonoid.{u4} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} B _inst_5)) _inst_6))) _inst_7) (StarAlgEquiv.ofBijective.{u1, u2, u3, u4} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 hF f hf) a) (coeFn.{succ u1, max (succ u3) (succ u4)} F (fun (_x : F) => A -> B) (FunLike.hasCoeToFun.{succ u1, succ u3, succ u4} F A (fun (_x : A) => B) (StarHomClass.toFunLike.{u1, u3, u4} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u1, u2, u3, u4} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF))) f a) +but is expected to have type + forall {F : Type.{u2}} {R : Type.{u1}} {A : Type.{u4}} {B : Type.{u3}} [_inst_1 : Monoid.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u4} A] [_inst_3 : DistribMulAction.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))] [_inst_4 : Star.{u4} A] [_inst_5 : NonUnitalNonAssocSemiring.{u3} B] [_inst_6 : DistribMulAction.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))] [_inst_7 : Star.{u3} B] [hF : NonUnitalStarAlgHomClass.{u2, u1, u4, u3} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6] {f : F} (hf : Function.Bijective.{succ u4, succ u3} A B (FunLike.coe.{succ u2, succ u4, succ u3} F A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{u2, u4, u3} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u1, u4, u3} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF)) f)) (a : A), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) a) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (StarAlgEquiv.{u1, u4, u3} R A B (Distrib.toAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toAdd.{u3} B (NonUnitalNonAssocSemiring.toDistrib.{u3} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u4} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} B _inst_5) (SMulZeroClass.toSMul.{u1, u4} R A (MulZeroClass.toZero.{u4} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} A _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u1, u3} R B (MulZeroClass.toZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u3} R B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_6))) _inst_4 _inst_7) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{max u4 u3, u4, u3} (StarAlgEquiv.{u1, u4, u3} R A B (Distrib.toAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toAdd.{u3} B (NonUnitalNonAssocSemiring.toDistrib.{u3} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u4} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} B _inst_5) (SMulZeroClass.toSMul.{u1, u4} R A (MulZeroClass.toZero.{u4} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} A _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u1, u3} R B (MulZeroClass.toZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u3} R B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_6))) _inst_4 _inst_7) A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{max u4 u3, u1, u4, u3} (StarAlgEquiv.{u1, u4, u3} R A B (Distrib.toAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toAdd.{u3} B (NonUnitalNonAssocSemiring.toDistrib.{u3} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u4} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} B _inst_5) (SMulZeroClass.toSMul.{u1, u4} R A (MulZeroClass.toZero.{u4} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} A _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u1, u3} R B (MulZeroClass.toZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u3} R B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_6))) _inst_4 _inst_7) R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 (StarAlgEquivClass.instNonUnitalStarAlgHomClass.{max u4 u3, u1, u4, u3} (StarAlgEquiv.{u1, u4, u3} R A B (Distrib.toAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toAdd.{u3} B (NonUnitalNonAssocSemiring.toDistrib.{u3} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u4} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} B _inst_5) (SMulZeroClass.toSMul.{u1, u4} R A (MulZeroClass.toZero.{u4} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} A _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u1, u3} R B (MulZeroClass.toZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u3} R B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_6))) _inst_4 _inst_7) R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (StarAlgEquiv.instStarAlgEquivClassStarAlgEquiv.{u1, u4, u3} R A B (Distrib.toAdd.{u4} A (NonUnitalNonAssocSemiring.toDistrib.{u4} A _inst_2)) (Distrib.toAdd.{u3} B (NonUnitalNonAssocSemiring.toDistrib.{u3} B _inst_5)) (NonUnitalNonAssocSemiring.toMul.{u4} A _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} B _inst_5) (SMulZeroClass.toSMul.{u1, u4} R A (MulZeroClass.toZero.{u4} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u4} A _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} R A _inst_1 (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A _inst_2)) _inst_3))) (SMulZeroClass.toSMul.{u1, u3} R B (MulZeroClass.toZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u3} R B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} R B _inst_1 (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B _inst_5)) _inst_6))) _inst_4 _inst_7)))) (StarAlgEquiv.ofBijective.{u2, u1, u4, u3} F R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 hF f hf) a) (FunLike.coe.{succ u2, succ u4, succ u3} F A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Star.Basic._hyg.3011 : A) => B) _x) (StarHomClass.toFunLike.{u2, u4, u3} F A B _inst_4 _inst_7 (NonUnitalStarAlgHomClass.toStarHomClass.{u2, u1, u4, u3} F R A B _inst_1 _inst_4 _inst_7 _inst_2 _inst_5 _inst_3 _inst_6 hF)) f a) +Case conversion may be inaccurate. Consider using '#align star_alg_equiv.of_bijective_apply StarAlgEquiv.ofBijective_applyₓ'. -/ theorem ofBijective_apply {f : F} (hf : Function.Bijective f) (a : A) : (StarAlgEquiv.ofBijective f hf) a = f a := rfl diff --git a/Mathbin/CategoryTheory/Bicategory/Basic.lean b/Mathbin/CategoryTheory/Bicategory/Basic.lean index 097044262c..e65f397750 100644 --- a/Mathbin/CategoryTheory/Bicategory/Basic.lean +++ b/Mathbin/CategoryTheory/Bicategory/Basic.lean @@ -130,56 +130,55 @@ class Bicategory (B : Type u) extends CategoryStruct.{v} B where -- right unitor: rightUnitor {a b : B} (f : a ⟶ b) : f ≫ 𝟙 b ≅ f -- axioms for left whiskering: - whiskerLeft_id' : ∀ {a b c} (f : a ⟶ b) (g : b ⟶ c), «expr ◁ » f (𝟙 g) = 𝟙 (f ≫ g) := by obviously - whiskerLeft_comp' : + whiskerLeft_id : ∀ {a b c} (f : a ⟶ b) (g : b ⟶ c), «expr ◁ » f (𝟙 g) = 𝟙 (f ≫ g) := by obviously + whiskerLeft_comp : ∀ {a b c} (f : a ⟶ b) {g h i : b ⟶ c} (η : g ⟶ h) (θ : h ⟶ i), «expr ◁ » f (η ≫ θ) = «expr ◁ » f η ≫ «expr ◁ » f θ := by obviously - id_whisker_left' : + id_whiskerLeft : ∀ {a b} {f g : a ⟶ b} (η : f ⟶ g), «expr ◁ » (𝟙 a) η = ((«exprλ_») f).Hom ≫ η ≫ ((«exprλ_») g).inv := by obviously - comp_whisker_left' : + comp_whiskerLeft : ∀ {a b c d} (f : a ⟶ b) (g : b ⟶ c) {h h' : c ⟶ d} (η : h ⟶ h'), «expr ◁ » (f ≫ g) η = ((exprα_) f g h).Hom ≫ «expr ◁ » f («expr ◁ » g η) ≫ ((exprα_) f g h').inv := by obviously -- axioms for right whiskering: - id_whisker_right' : ∀ {a b c} (f : a ⟶ b) (g : b ⟶ c), «expr ▷ » (𝟙 f) g = 𝟙 (f ≫ g) := by - obviously - comp_whisker_right' : + id_whiskerRight : ∀ {a b c} (f : a ⟶ b) (g : b ⟶ c), «expr ▷ » (𝟙 f) g = 𝟙 (f ≫ g) := by obviously + comp_whiskerRight : ∀ {a b c} {f g h : a ⟶ b} (η : f ⟶ g) (θ : g ⟶ h) (i : b ⟶ c), «expr ▷ » (η ≫ θ) i = «expr ▷ » η i ≫ «expr ▷ » θ i := by obviously - whiskerRight_id' : + whiskerRight_id : ∀ {a b} {f g : a ⟶ b} (η : f ⟶ g), «expr ▷ » η (𝟙 b) = ((exprρ_) f).Hom ≫ η ≫ ((exprρ_) g).inv := by obviously - whiskerRight_comp' : + whiskerRight_comp : ∀ {a b c d} {f f' : a ⟶ b} (η : f ⟶ f') (g : b ⟶ c) (h : c ⟶ d), «expr ▷ » η (g ≫ h) = ((exprα_) f g h).inv ≫ «expr ▷ » («expr ▷ » η g) h ≫ ((exprα_) f' g h).Hom := by obviously -- associativity of whiskerings: - whisker_assoc' : + whisker_assoc : ∀ {a b c d} (f : a ⟶ b) {g g' : b ⟶ c} (η : g ⟶ g') (h : c ⟶ d), «expr ▷ » («expr ◁ » f η) h = ((exprα_) f g h).Hom ≫ «expr ◁ » f («expr ▷ » η h) ≫ ((exprα_) f g' h).inv := by obviously -- exchange law of left and right whiskerings: - whisker_exchange' : + whisker_exchange : ∀ {a b c} {f g : a ⟶ b} {h i : b ⟶ c} (η : f ⟶ g) (θ : h ⟶ i), «expr ◁ » f θ ≫ «expr ▷ » η i = «expr ▷ » η h ≫ «expr ◁ » g θ := by obviously -- pentagon identity: - pentagon' : + pentagon : ∀ {a b c d e} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d) (i : d ⟶ e), «expr ▷ » ((exprα_) f g h).Hom i ≫ ((exprα_) f (g ≫ h) i).Hom ≫ «expr ◁ » f ((exprα_) g h i).Hom = ((exprα_) (f ≫ g) h i).Hom ≫ ((exprα_) f g (h ≫ i)).Hom := by obviously -- triangle identity: - triangle' : + triangle : ∀ {a b c} (f : a ⟶ b) (g : b ⟶ c), ((exprα_) f (𝟙 b) g).Hom ≫ «expr ◁ » f ((«exprλ_») g).Hom = «expr ▷ » ((exprρ_) f).Hom g := by obviously diff --git a/Mathbin/CategoryTheory/Bicategory/Free.lean b/Mathbin/CategoryTheory/Bicategory/Free.lean index 40f4eef686..7f7d5fc130 100644 --- a/Mathbin/CategoryTheory/Bicategory/Free.lean +++ b/Mathbin/CategoryTheory/Bicategory/Free.lean @@ -200,31 +200,31 @@ instance bicategory : Bicategory (FreeBicategory B) comp a b c := Hom.comp homCategory := FreeBicategory.homCategory whiskerLeft a b c f g h η := Quot.map (Hom₂.whisker_left f) (Rel.whisker_left f g h) η - whiskerLeft_id' a b c f g := Quot.sound (Rel.whisker_left_id f g) - whiskerLeft_comp' := by + whiskerLeft_id a b c f g := Quot.sound (Rel.whisker_left_id f g) + whiskerLeft_comp := by rintro a b c f g h i ⟨η⟩ ⟨θ⟩ exact Quot.sound (rel.whisker_left_comp f η θ) - id_whisker_left' := by + id_whiskerLeft := by rintro a b f g ⟨η⟩ exact Quot.sound (rel.id_whisker_left η) - comp_whisker_left' := by + comp_whiskerLeft := by rintro a b c d f g h h' ⟨η⟩ exact Quot.sound (rel.comp_whisker_left f g η) whiskerRight a b c f g η h := Quot.map (Hom₂.whisker_right h) (Rel.whisker_right f g h) η - id_whisker_right' a b c f g := Quot.sound (Rel.id_whisker_right f g) - comp_whisker_right' := by + id_whiskerRight a b c f g := Quot.sound (Rel.id_whisker_right f g) + comp_whiskerRight := by rintro a b c f g h ⟨η⟩ ⟨θ⟩ i exact Quot.sound (rel.comp_whisker_right i η θ) - whiskerRight_id' := by + whiskerRight_id := by rintro a b f g ⟨η⟩ exact Quot.sound (rel.whisker_right_id η) - whiskerRight_comp' := by + whiskerRight_comp := by rintro a b c d f f' ⟨η⟩ g h exact Quot.sound (rel.whisker_right_comp g h η) - whisker_assoc' := by + whisker_assoc := by rintro a b c d f g g' ⟨η⟩ h exact Quot.sound (rel.whisker_assoc f η h) - whisker_exchange' := by + whisker_exchange := by rintro a b c f g h i ⟨η⟩ ⟨θ⟩ exact Quot.sound (rel.whisker_exchange η θ) associator a b c d f g h := @@ -242,8 +242,8 @@ instance bicategory : Bicategory (FreeBicategory B) inv := Quot.mk Rel (Hom₂.right_unitor_inv f) hom_inv_id' := Quot.sound (Rel.right_unitor_hom_inv f) inv_hom_id' := Quot.sound (Rel.right_unitor_inv_hom f) } - pentagon' a b c d e f g h i := Quot.sound (Rel.pentagon f g h i) - triangle' a b c f g := Quot.sound (Rel.triangle f g) + pentagon a b c d e f g h i := Quot.sound (Rel.pentagon f g h i) + triangle a b c f g := Quot.sound (Rel.triangle f g) #align category_theory.free_bicategory.bicategory CategoryTheory.FreeBicategory.bicategory variable {a b c d : FreeBicategory B} diff --git a/Mathbin/CategoryTheory/Bicategory/FunctorBicategory.lean b/Mathbin/CategoryTheory/Bicategory/FunctorBicategory.lean index 0d9f2b65e6..b5d90f12d3 100644 --- a/Mathbin/CategoryTheory/Bicategory/FunctorBicategory.lean +++ b/Mathbin/CategoryTheory/Bicategory/FunctorBicategory.lean @@ -87,7 +87,7 @@ instance OplaxFunctor.bicategory : Bicategory (OplaxFunctor B C) associator F G H I := OplaxNatTrans.associator leftUnitor F G := OplaxNatTrans.leftUnitor rightUnitor F G := OplaxNatTrans.rightUnitor - whisker_exchange' := by + whisker_exchange := by intros ext apply whisker_exchange diff --git a/Mathbin/CategoryTheory/Bicategory/SingleObj.lean b/Mathbin/CategoryTheory/Bicategory/SingleObj.lean index 9af56a58a5..51d030c66a 100644 --- a/Mathbin/CategoryTheory/Bicategory/SingleObj.lean +++ b/Mathbin/CategoryTheory/Bicategory/SingleObj.lean @@ -60,22 +60,22 @@ instance : Bicategory (MonoidalSingleObj C) associator _ _ _ _ X Y Z := α_ X Y Z leftUnitor _ _ X := λ_ X rightUnitor _ _ X := ρ_ X - comp_whisker_left' := by + comp_whiskerLeft := by intros rw [associator_inv_naturality, iso.hom_inv_id_assoc, tensor_id] - whisker_assoc' := by + whisker_assoc := by intros rw [associator_inv_naturality, iso.hom_inv_id_assoc] - whiskerRight_comp' := by + whiskerRight_comp := by intros rw [← tensor_id, associator_naturality, iso.inv_hom_id_assoc] - id_whisker_left' := by + id_whiskerLeft := by intros rw [left_unitor_inv_naturality, iso.hom_inv_id_assoc] - whiskerRight_id' := by + whiskerRight_id := by intros rw [right_unitor_inv_naturality, iso.hom_inv_id_assoc] - pentagon' := by + pentagon := by intros rw [pentagon] diff --git a/Mathbin/CategoryTheory/Category/Cat.lean b/Mathbin/CategoryTheory/Category/Cat.lean index 91cb684bab..f9462f5ec9 100644 --- a/Mathbin/CategoryTheory/Category/Cat.lean +++ b/Mathbin/CategoryTheory/Category/Cat.lean @@ -77,8 +77,8 @@ instance bicategory : Bicategory.{max v u, max v u} Cat.{v, u} associator A B C D := Functor.associator leftUnitor A B := Functor.leftUnitor rightUnitor A B := Functor.rightUnitor - pentagon' A B C D E := Functor.pentagon - triangle' A B C := Functor.triangle + pentagon A B C D E := Functor.pentagon + triangle A B C := Functor.triangle #align category_theory.Cat.bicategory CategoryTheory.Cat.bicategory -/ diff --git a/Mathbin/CategoryTheory/Limits/Comma.lean b/Mathbin/CategoryTheory/Limits/Comma.lean index 55d3627a0a..7a566fbe7e 100644 --- a/Mathbin/CategoryTheory/Limits/Comma.lean +++ b/Mathbin/CategoryTheory/Limits/Comma.lean @@ -220,8 +220,8 @@ instance hasLimits [HasLimits A] [PreservesLimits G] : HasLimits (StructuredArro noncomputable instance createsLimit [i : PreservesLimit (F ⋙ proj X G) G] : CreatesLimit F (proj X G) := createsLimitOfReflectsIso fun c t => - { liftedCone := @Comma.coneOfPreserves _ _ _ _ _ i punitCone t - makesLimit := Comma.coneOfPreservesIsLimit _ punitConeIsLimit _ + { liftedCone := @Comma.coneOfPreserves _ _ _ _ _ i pUnitCone t + makesLimit := Comma.coneOfPreservesIsLimit _ pUnitConeIsLimit _ validLift := Cones.ext (Iso.refl _) fun j => (id_comp _).symm } #align category_theory.structured_arrow.creates_limit CategoryTheory.StructuredArrow.createsLimit @@ -265,8 +265,8 @@ instance hasColimits [HasColimits A] [PreservesColimits G] : HasColimits (Costru noncomputable instance createsColimit [i : PreservesColimit (F ⋙ proj G X) G] : CreatesColimit F (proj G X) := createsColimitOfReflectsIso fun c t => - { liftedCocone := @Comma.coconeOfPreserves _ _ _ _ _ i t punitCocone - makesColimit := Comma.coconeOfPreservesIsColimit _ _ punitCoconeIsColimit + { liftedCocone := @Comma.coconeOfPreserves _ _ _ _ _ i t pUnitCocone + makesColimit := Comma.coconeOfPreservesIsColimit _ _ pUnitCoconeIsColimit validLift := Cocones.ext (Iso.refl _) fun j => comp_id _ } #align category_theory.costructured_arrow.creates_colimit CategoryTheory.CostructuredArrow.createsColimit diff --git a/Mathbin/CategoryTheory/Limits/Unit.lean b/Mathbin/CategoryTheory/Limits/Unit.lean index 2ee275f05d..2f7059bd70 100644 --- a/Mathbin/CategoryTheory/Limits/Unit.lean +++ b/Mathbin/CategoryTheory/Limits/Unit.lean @@ -28,25 +28,33 @@ namespace CategoryTheory.Limits variable {J : Type v} [Category.{v'} J] {F : J ⥤ Discrete PUnit} +#print CategoryTheory.Limits.pUnitCone /- /-- A trivial cone for a functor into `punit`. `punit_cone_is_limit` shows it is a limit. -/ -def punitCone : Cone F := +def pUnitCone : Cone F := ⟨⟨⟨⟩⟩, (Functor.pUnitExt _ _).Hom⟩ -#align category_theory.limits.punit_cone CategoryTheory.Limits.punitCone +#align category_theory.limits.punit_cone CategoryTheory.Limits.pUnitCone +-/ +#print CategoryTheory.Limits.pUnitCocone /- /-- A trivial cocone for a functor into `punit`. `punit_cocone_is_limit` shows it is a colimit. -/ -def punitCocone : Cocone F := +def pUnitCocone : Cocone F := ⟨⟨⟨⟩⟩, (Functor.pUnitExt _ _).Hom⟩ -#align category_theory.limits.punit_cocone CategoryTheory.Limits.punitCocone +#align category_theory.limits.punit_cocone CategoryTheory.Limits.pUnitCocone +-/ +#print CategoryTheory.Limits.pUnitConeIsLimit /- /-- Any cone over a functor into `punit` is a limit cone. -/ -def punitConeIsLimit {c : Cone F} : IsLimit c := by tidy -#align category_theory.limits.punit_cone_is_limit CategoryTheory.Limits.punitConeIsLimit +def pUnitConeIsLimit {c : Cone F} : IsLimit c := by tidy +#align category_theory.limits.punit_cone_is_limit CategoryTheory.Limits.pUnitConeIsLimit +-/ +#print CategoryTheory.Limits.pUnitCoconeIsColimit /- /-- Any cocone over a functor into `punit` is a colimit cocone. -/ -def punitCoconeIsColimit {c : Cocone F} : IsColimit c := by tidy -#align category_theory.limits.punit_cocone_is_colimit CategoryTheory.Limits.punitCoconeIsColimit +def pUnitCoconeIsColimit {c : Cocone F} : IsColimit c := by tidy +#align category_theory.limits.punit_cocone_is_colimit CategoryTheory.Limits.pUnitCoconeIsColimit +-/ instance : HasLimitsOfSize.{v', v} (Discrete PUnit) := by tidy diff --git a/Mathbin/CategoryTheory/Monoidal/Bimod.lean b/Mathbin/CategoryTheory/Monoidal/Bimod.lean index ed3754e2b2..745325f3bd 100644 --- a/Mathbin/CategoryTheory/Monoidal/Bimod.lean +++ b/Mathbin/CategoryTheory/Monoidal/Bimod.lean @@ -1102,18 +1102,18 @@ noncomputable def monBicategory : Bicategory (Mon_ C) associator _ _ _ _ L M N := associatorBimod L M N leftUnitor _ _ M := leftUnitorBimod M rightUnitor _ _ M := rightUnitorBimod M - whiskerLeft_id' _ _ _ _ _ := tensor_id - whiskerLeft_comp' _ _ _ M _ _ _ f g := whisker_left_comp_bimod M f g - id_whisker_left' _ _ _ _ f := id_whisker_left_bimod f - comp_whisker_left' _ _ _ _ M N _ _ f := comp_whisker_left_bimod M N f - id_whisker_right' _ _ _ _ _ := tensor_id - comp_whisker_right' _ _ _ _ _ _ f g Q := comp_whisker_right_bimod f g Q - whiskerRight_id' _ _ _ _ f := whisker_right_id_bimod f - whiskerRight_comp' _ _ _ _ _ _ f N P := whisker_right_comp_bimod f N P - whisker_assoc' _ _ _ _ M _ _ f P := whisker_assoc_bimod M f P - whisker_exchange' _ _ _ _ _ _ _ f g := whisker_exchange_bimod f g - pentagon' _ _ _ _ _ M N P Q := pentagon_bimod M N P Q - triangle' _ _ _ M N := triangle_bimod M N + whiskerLeft_id _ _ _ _ _ := tensor_id + whiskerLeft_comp _ _ _ M _ _ _ f g := whisker_left_comp_bimod M f g + id_whiskerLeft _ _ _ _ f := id_whisker_left_bimod f + comp_whiskerLeft _ _ _ _ M N _ _ f := comp_whisker_left_bimod M N f + id_whiskerRight _ _ _ _ _ := tensor_id + comp_whiskerRight _ _ _ _ _ _ f g Q := comp_whisker_right_bimod f g Q + whiskerRight_id _ _ _ _ f := whisker_right_id_bimod f + whiskerRight_comp _ _ _ _ _ _ f N P := whisker_right_comp_bimod f N P + whisker_assoc _ _ _ _ M _ _ f P := whisker_assoc_bimod M f P + whisker_exchange _ _ _ _ _ _ _ f g := whisker_exchange_bimod f g + pentagon _ _ _ _ _ M N P Q := pentagon_bimod M N P Q + triangle _ _ _ M N := triangle_bimod M N #align Bimod.Mon_bicategory Bimod.monBicategory end Bimod diff --git a/Mathbin/Combinatorics/SimpleGraph/Prod.lean b/Mathbin/Combinatorics/SimpleGraph/Prod.lean index 77a139842f..6cda1b9129 100644 --- a/Mathbin/Combinatorics/SimpleGraph/Prod.lean +++ b/Mathbin/Combinatorics/SimpleGraph/Prod.lean @@ -39,6 +39,7 @@ namespace SimpleGraph variable {G : SimpleGraph α} {H : SimpleGraph β} {I : SimpleGraph γ} {a a₁ a₂ : α} {b b₁ b₂ : β} {x y : α × β} +#print SimpleGraph.boxProd /- /-- Box product of simple graphs. It relates `(a₁, b)` and `(a₂, b)` if `G` relates `a₁` and `a₂`, and `(a, b₁)` and `(a, b₂)` if `H` relates `b₁` and `b₂`. -/ def boxProd (G : SimpleGraph α) (H : SimpleGraph β) : SimpleGraph (α × β) @@ -47,25 +48,50 @@ def boxProd (G : SimpleGraph α) (H : SimpleGraph β) : SimpleGraph (α × β) symm x y := by simp [and_comm', or_comm', eq_comm, adj_comm] loopless x := by simp #align simple_graph.box_prod SimpleGraph.boxProd +-/ -- mathport name: «expr □ » infixl:70 " □ " => boxProd +/- warning: simple_graph.box_prod_adj -> SimpleGraph.boxProd_adj is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β} {x : Prod.{u1, u2} α β} {y : Prod.{u1, u2} α β}, Iff (SimpleGraph.Adj.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H) x y) (Or (And (SimpleGraph.Adj.{u1} α G (Prod.fst.{u1, u2} α β x) (Prod.fst.{u1, u2} α β y)) (Eq.{succ u2} β (Prod.snd.{u1, u2} α β x) (Prod.snd.{u1, u2} α β y))) (And (SimpleGraph.Adj.{u2} β H (Prod.snd.{u1, u2} α β x) (Prod.snd.{u1, u2} α β y)) (Eq.{succ u1} α (Prod.fst.{u1, u2} α β x) (Prod.fst.{u1, u2} α β y)))) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β} {x : Prod.{u2, u1} α β} {y : Prod.{u2, u1} α β}, Iff (SimpleGraph.Adj.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H) x y) (Or (And (SimpleGraph.Adj.{u2} α G (Prod.fst.{u2, u1} α β x) (Prod.fst.{u2, u1} α β y)) (Eq.{succ u1} β (Prod.snd.{u2, u1} α β x) (Prod.snd.{u2, u1} α β y))) (And (SimpleGraph.Adj.{u1} β H (Prod.snd.{u2, u1} α β x) (Prod.snd.{u2, u1} α β y)) (Eq.{succ u2} α (Prod.fst.{u2, u1} α β x) (Prod.fst.{u2, u1} α β y)))) +Case conversion may be inaccurate. Consider using '#align simple_graph.box_prod_adj SimpleGraph.boxProd_adjₓ'. -/ @[simp] theorem boxProd_adj : (G □ H).Adj x y ↔ G.Adj x.1 y.1 ∧ x.2 = y.2 ∨ H.Adj x.2 y.2 ∧ x.1 = y.1 := Iff.rfl #align simple_graph.box_prod_adj SimpleGraph.boxProd_adj +/- warning: simple_graph.box_prod_adj_left -> SimpleGraph.boxProd_adj_left is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β} {a₁ : α} {a₂ : α} {b : β}, Iff (SimpleGraph.Adj.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H) (Prod.mk.{u1, u2} α β a₁ b) (Prod.mk.{u1, u2} α β a₂ b)) (SimpleGraph.Adj.{u1} α G a₁ a₂) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β} {a₁ : α} {a₂ : β} {b : α}, Iff (SimpleGraph.Adj.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H) (Prod.mk.{u2, u1} α β a₁ a₂) (Prod.mk.{u2, u1} α β b a₂)) (SimpleGraph.Adj.{u2} α G a₁ b) +Case conversion may be inaccurate. Consider using '#align simple_graph.box_prod_adj_left SimpleGraph.boxProd_adj_leftₓ'. -/ @[simp] theorem boxProd_adj_left : (G □ H).Adj (a₁, b) (a₂, b) ↔ G.Adj a₁ a₂ := by rw [box_prod_adj, and_iff_left rfl, or_iff_left fun h : H.adj b b ∧ _ => h.1.Ne rfl] #align simple_graph.box_prod_adj_left SimpleGraph.boxProd_adj_left +/- warning: simple_graph.box_prod_adj_right -> SimpleGraph.boxProd_adj_right is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β} {a : α} {b₁ : β} {b₂ : β}, Iff (SimpleGraph.Adj.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H) (Prod.mk.{u1, u2} α β a b₁) (Prod.mk.{u1, u2} α β a b₂)) (SimpleGraph.Adj.{u2} β H b₁ b₂) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β} {a : α} {b₁ : β} {b₂ : β}, Iff (SimpleGraph.Adj.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H) (Prod.mk.{u2, u1} α β a b₁) (Prod.mk.{u2, u1} α β a b₂)) (SimpleGraph.Adj.{u1} β H b₁ b₂) +Case conversion may be inaccurate. Consider using '#align simple_graph.box_prod_adj_right SimpleGraph.boxProd_adj_rightₓ'. -/ @[simp] theorem boxProd_adj_right : (G □ H).Adj (a, b₁) (a, b₂) ↔ H.Adj b₁ b₂ := by rw [box_prod_adj, and_iff_left rfl, or_iff_right fun h : G.adj a a ∧ _ => h.1.Ne rfl] #align simple_graph.box_prod_adj_right SimpleGraph.boxProd_adj_right +/- warning: simple_graph.box_prod_neighbor_set -> SimpleGraph.boxProd_neighborSet is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β} (x : Prod.{u1, u2} α β), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} α β)) (SimpleGraph.neighborSet.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H) x) (Union.union.{max u1 u2} (Set.{max u1 u2} (Prod.{u1, u2} α β)) (Set.hasUnion.{max u1 u2} (Prod.{u1, u2} α β)) (Set.prod.{u1, u2} α β (SimpleGraph.neighborSet.{u1} α G (Prod.fst.{u1, u2} α β x)) (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) (Prod.snd.{u1, u2} α β x))) (Set.prod.{u1, u2} α β (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) (Prod.fst.{u1, u2} α β x)) (SimpleGraph.neighborSet.{u2} β H (Prod.snd.{u1, u2} α β x)))) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β} (x : Prod.{u2, u1} α β), Eq.{max (succ u2) (succ u1)} (Set.{max u2 u1} (Prod.{u2, u1} α β)) (SimpleGraph.neighborSet.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H) x) (Union.union.{max u1 u2} (Set.{max u1 u2} (Prod.{u2, u1} α β)) (Set.instUnionSet.{max u2 u1} (Prod.{u2, u1} α β)) (Set.prod.{u2, u1} α β (SimpleGraph.neighborSet.{u2} α G (Prod.fst.{u2, u1} α β x)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) (Prod.snd.{u2, u1} α β x))) (Set.prod.{u2, u1} α β (Singleton.singleton.{u2, u2} α (Set.{u2} α) (Set.instSingletonSet.{u2} α) (Prod.fst.{u2, u1} α β x)) (SimpleGraph.neighborSet.{u1} β H (Prod.snd.{u2, u1} α β x)))) +Case conversion may be inaccurate. Consider using '#align simple_graph.box_prod_neighbor_set SimpleGraph.boxProd_neighborSetₓ'. -/ /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/ /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/ theorem boxProd_neighborSet (x : α × β) : @@ -78,12 +104,15 @@ theorem boxProd_neighborSet (x : α × β) : variable (G H I) +#print SimpleGraph.boxProdComm /- /-- The box product is commutative up to isomorphism. `equiv.prod_comm` as a graph isomorphism. -/ @[simps] def boxProdComm : G □ H ≃g H □ G := ⟨Equiv.prodComm _ _, fun x y => or_comm' _ _⟩ #align simple_graph.box_prod_comm SimpleGraph.boxProdComm +-/ +#print SimpleGraph.boxProdAssoc /- /-- The box product is associative up to isomorphism. `equiv.prod_assoc` as a graph isomorphism. -/ @[simps] def boxProdAssoc : G □ H □ I ≃g G □ (H □ I) := @@ -91,7 +120,9 @@ def boxProdAssoc : G □ H □ I ≃g G □ (H □ I) := simp only [box_prod_adj, Equiv.prodAssoc_apply, or_and_right, or_assoc', Prod.ext_iff, and_assoc', @and_comm (x.1.1 = _)]⟩ #align simple_graph.box_prod_assoc SimpleGraph.boxProdAssoc +-/ +#print SimpleGraph.boxProdLeft /- /-- The embedding of `G` into `G □ H` given by `b`. -/ @[simps] def boxProdLeft (b : β) : G ↪g G □ H where @@ -99,7 +130,9 @@ def boxProdLeft (b : β) : G ↪g G □ H where inj' a₁ a₂ := congr_arg Prod.fst map_rel_iff' a₁ a₂ := boxProd_adj_left #align simple_graph.box_prod_left SimpleGraph.boxProdLeft +-/ +#print SimpleGraph.boxProdRight /- /-- The embedding of `H` into `G □ H` given by `a`. -/ @[simps] def boxProdRight (a : α) : H ↪g G □ H @@ -108,25 +141,31 @@ def boxProdRight (a : α) : H ↪g G □ H inj' b₁ b₂ := congr_arg Prod.snd map_rel_iff' b₁ b₂ := boxProd_adj_right #align simple_graph.box_prod_right SimpleGraph.boxProdRight +-/ namespace Walk variable {G} +#print SimpleGraph.Walk.boxProdLeft /- /-- Turn a walk on `G` into a walk on `G □ H`. -/ protected def boxProdLeft (b : β) : G.Walk a₁ a₂ → (G □ H).Walk (a₁, b) (a₂, b) := Walk.map (G.boxProdLeft H b).toHom #align simple_graph.walk.box_prod_left SimpleGraph.Walk.boxProdLeft +-/ variable (G) {H} +#print SimpleGraph.Walk.boxProdRight /- /-- Turn a walk on `H` into a walk on `G □ H`. -/ protected def boxProdRight (a : α) : H.Walk b₁ b₂ → (G □ H).Walk (a, b₁) (a, b₂) := Walk.map (G.boxProdRight H a).toHom #align simple_graph.walk.box_prod_right SimpleGraph.Walk.boxProdRight +-/ variable {G} +#print SimpleGraph.Walk.ofBoxProdLeft /- /-- Project a walk on `G □ H` to a walk on `G` by discarding the moves in the direction of `H`. -/ def ofBoxProdLeft [DecidableEq β] [DecidableRel G.Adj] : ∀ {x y : α × β}, (G □ H).Walk x y → G.Walk x.1 y.1 @@ -135,7 +174,9 @@ def ofBoxProdLeft [DecidableEq β] [DecidableRel G.Adj] : Or.by_cases h (fun hG => w.ofBoxProdLeft.cons hG.1) fun hH => show G.Walk x.1 z.1 by rw [hH.2] <;> exact w.of_box_prod_left #align simple_graph.walk.of_box_prod_left SimpleGraph.Walk.ofBoxProdLeft +-/ +#print SimpleGraph.Walk.ofBoxProdRight /- /-- Project a walk on `G □ H` to a walk on `H` by discarding the moves in the direction of `G`. -/ def ofBoxProdRight [DecidableEq α] [DecidableRel H.Adj] : ∀ {x y : α × β}, (G □ H).Walk x y → H.Walk x.2 y.2 @@ -144,7 +185,9 @@ def ofBoxProdRight [DecidableEq α] [DecidableRel H.Adj] : (Or.symm h).byCases (fun hH => w.ofBoxProdRight.cons hH.1) fun hG => show H.Walk x.2 z.2 by rw [hG.2] <;> exact w.of_box_prod_right #align simple_graph.walk.of_box_prod_right SimpleGraph.Walk.ofBoxProdRight +-/ +#print SimpleGraph.Walk.ofBoxProdLeft_boxProdLeft /- @[simp] theorem ofBoxProdLeft_boxProdLeft [DecidableEq β] [DecidableRel G.Adj] : ∀ {a₁ a₂ : α} (w : G.Walk a₁ a₂), (w.boxProdLeft H b).ofBoxProdLeft = w @@ -155,9 +198,11 @@ theorem ofBoxProdLeft_boxProdLeft [DecidableEq β] [DecidableRel G.Adj] : of_box_prod_left_box_prod_left] exacts[rfl, ⟨h, rfl⟩] #align simple_graph.walk.of_box_prod_left_box_prod_left SimpleGraph.Walk.ofBoxProdLeft_boxProdLeft +-/ +#print SimpleGraph.Walk.ofBoxProdLeft_boxProdRight /- @[simp] -theorem of_box_prod_left_boxProdRight [DecidableEq α] [DecidableRel G.Adj] : +theorem ofBoxProdLeft_boxProdRight [DecidableEq α] [DecidableRel G.Adj] : ∀ {b₁ b₂ : α} (w : G.Walk b₁ b₂), (w.boxProdRight G a).ofBoxProdRight = w | _, _, nil => rfl | _, _, cons' x y z h w => @@ -165,12 +210,19 @@ theorem of_box_prod_left_boxProdRight [DecidableEq α] [DecidableRel G.Adj] : rw [walk.box_prod_right, map_cons, of_box_prod_right, Or.by_cases, dif_pos, ← walk.box_prod_right, of_box_prod_left_box_prod_right] exacts[rfl, ⟨h, rfl⟩] -#align simple_graph.walk.of_box_prod_left_box_prod_right SimpleGraph.Walk.of_box_prod_left_boxProdRight +#align simple_graph.walk.of_box_prod_left_box_prod_right SimpleGraph.Walk.ofBoxProdLeft_boxProdRight +-/ end Walk variable {G H} +/- warning: simple_graph.preconnected.box_prod -> SimpleGraph.Preconnected.boxProd is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β}, (SimpleGraph.Preconnected.{u1} α G) -> (SimpleGraph.Preconnected.{u2} β H) -> (SimpleGraph.Preconnected.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H)) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β}, (SimpleGraph.Preconnected.{u2} α G) -> (SimpleGraph.Preconnected.{u1} β H) -> (SimpleGraph.Preconnected.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H)) +Case conversion may be inaccurate. Consider using '#align simple_graph.preconnected.box_prod SimpleGraph.Preconnected.boxProdₓ'. -/ protected theorem Preconnected.boxProd (hG : G.Preconnected) (hH : H.Preconnected) : (G □ H).Preconnected := by rintro x y @@ -180,22 +232,36 @@ protected theorem Preconnected.boxProd (hG : G.Preconnected) (hH : H.Preconnecte exact ⟨(w₁.box_prod_left _ _).append (w₂.box_prod_right _ _)⟩ #align simple_graph.preconnected.box_prod SimpleGraph.Preconnected.boxProd -protected theorem Preconnected.of_boxProd_left [Nonempty β] (h : (G □ H).Preconnected) : +#print SimpleGraph.Preconnected.ofBoxProdLeft /- +protected theorem Preconnected.ofBoxProdLeft [Nonempty β] (h : (G □ H).Preconnected) : G.Preconnected := by classical rintro a₁ a₂ obtain ⟨w⟩ := h (a₁, Classical.arbitrary _) (a₂, Classical.arbitrary _) exact ⟨w.of_box_prod_left⟩ -#align simple_graph.preconnected.of_box_prod_left SimpleGraph.Preconnected.of_boxProd_left +#align simple_graph.preconnected.of_box_prod_left SimpleGraph.Preconnected.ofBoxProdLeft +-/ -protected theorem Preconnected.of_boxProd_right [Nonempty α] (h : (G □ H).Preconnected) : +/- warning: simple_graph.preconnected.of_box_prod_right -> SimpleGraph.Preconnected.ofBoxProdRight is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β} [_inst_1 : Nonempty.{succ u1} α], (SimpleGraph.Preconnected.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H)) -> (SimpleGraph.Preconnected.{u2} β H) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β} [_inst_1 : Nonempty.{succ u2} α], (SimpleGraph.Preconnected.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H)) -> (SimpleGraph.Preconnected.{u1} β H) +Case conversion may be inaccurate. Consider using '#align simple_graph.preconnected.of_box_prod_right SimpleGraph.Preconnected.ofBoxProdRightₓ'. -/ +protected theorem Preconnected.ofBoxProdRight [Nonempty α] (h : (G □ H).Preconnected) : H.Preconnected := by classical rintro b₁ b₂ obtain ⟨w⟩ := h (Classical.arbitrary _, b₁) (Classical.arbitrary _, b₂) exact ⟨w.of_box_prod_right⟩ -#align simple_graph.preconnected.of_box_prod_right SimpleGraph.Preconnected.of_boxProd_right - +#align simple_graph.preconnected.of_box_prod_right SimpleGraph.Preconnected.ofBoxProdRight + +/- warning: simple_graph.connected.box_prod -> SimpleGraph.Connected.boxProd is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β}, (SimpleGraph.Connected.{u1} α G) -> (SimpleGraph.Connected.{u2} β H) -> (SimpleGraph.Connected.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H)) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β}, (SimpleGraph.Connected.{u2} α G) -> (SimpleGraph.Connected.{u1} β H) -> (SimpleGraph.Connected.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H)) +Case conversion may be inaccurate. Consider using '#align simple_graph.connected.box_prod SimpleGraph.Connected.boxProdₓ'. -/ protected theorem Connected.boxProd (hG : G.Connected) (hH : H.Connected) : (G □ H).Connected := by haveI := hG.nonempty @@ -203,20 +269,38 @@ protected theorem Connected.boxProd (hG : G.Connected) (hH : H.Connected) : (G exact ⟨hG.preconnected.box_prod hH.preconnected⟩ #align simple_graph.connected.box_prod SimpleGraph.Connected.boxProd -protected theorem Connected.of_boxProd_left (h : (G □ H).Connected) : G.Connected := +/- warning: simple_graph.connected.of_box_prod_left -> SimpleGraph.Connected.ofBoxProdLeft is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β}, (SimpleGraph.Connected.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H)) -> (SimpleGraph.Connected.{u1} α G) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β}, (SimpleGraph.Connected.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H)) -> (SimpleGraph.Connected.{u2} α G) +Case conversion may be inaccurate. Consider using '#align simple_graph.connected.of_box_prod_left SimpleGraph.Connected.ofBoxProdLeftₓ'. -/ +protected theorem Connected.ofBoxProdLeft (h : (G □ H).Connected) : G.Connected := by haveI := (nonempty_prod.1 h.nonempty).1 haveI := (nonempty_prod.1 h.nonempty).2 exact ⟨h.preconnected.of_box_prod_left⟩ -#align simple_graph.connected.of_box_prod_left SimpleGraph.Connected.of_boxProd_left - -protected theorem Connected.of_boxProd_right (h : (G □ H).Connected) : H.Connected := +#align simple_graph.connected.of_box_prod_left SimpleGraph.Connected.ofBoxProdLeft + +/- warning: simple_graph.connected.of_box_prod_right -> SimpleGraph.Connected.ofBoxProdRight is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β}, (SimpleGraph.Connected.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H)) -> (SimpleGraph.Connected.{u2} β H) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β}, (SimpleGraph.Connected.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H)) -> (SimpleGraph.Connected.{u1} β H) +Case conversion may be inaccurate. Consider using '#align simple_graph.connected.of_box_prod_right SimpleGraph.Connected.ofBoxProdRightₓ'. -/ +protected theorem Connected.ofBoxProdRight (h : (G □ H).Connected) : H.Connected := by haveI := (nonempty_prod.1 h.nonempty).1 haveI := (nonempty_prod.1 h.nonempty).2 exact ⟨h.preconnected.of_box_prod_right⟩ -#align simple_graph.connected.of_box_prod_right SimpleGraph.Connected.of_boxProd_right - +#align simple_graph.connected.of_box_prod_right SimpleGraph.Connected.ofBoxProdRight + +/- warning: simple_graph.box_prod_connected -> SimpleGraph.boxProd_connected is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β}, Iff (SimpleGraph.Connected.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H)) (And (SimpleGraph.Connected.{u1} α G) (SimpleGraph.Connected.{u2} β H)) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β}, Iff (SimpleGraph.Connected.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H)) (And (SimpleGraph.Connected.{u2} α G) (SimpleGraph.Connected.{u1} β H)) +Case conversion may be inaccurate. Consider using '#align simple_graph.box_prod_connected SimpleGraph.boxProd_connectedₓ'. -/ @[simp] theorem boxProd_connected : (G □ H).Connected ↔ G.Connected ∧ H.Connected := ⟨fun h => ⟨h.ofBoxProdLeft, h.ofBoxProdRight⟩, fun h => h.1.boxProd h.2⟩ @@ -224,6 +308,7 @@ theorem boxProd_connected : (G □ H).Connected ↔ G.Connected ∧ H.Connected /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/ /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/ +#print SimpleGraph.boxProdFintypeNeighborSet /- instance boxProdFintypeNeighborSet (x : α × β) [Fintype (G.neighborSet x.1)] [Fintype (H.neighborSet x.2)] : Fintype ((G □ H).neighborSet x) := Fintype.ofEquiv @@ -235,7 +320,14 @@ instance boxProdFintypeNeighborSet (x : α × β) [Fintype (G.neighborSet x.1)] mem_neighbor_set, Equiv.refl_apply, box_prod_adj] simp only [eq_comm, and_comm']) #align simple_graph.box_prod_fintype_neighbor_set SimpleGraph.boxProdFintypeNeighborSet +-/ +/- warning: simple_graph.box_prod_neighbor_finset -> SimpleGraph.boxProd_neighborFinset is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β} (x : Prod.{u1, u2} α β) [_inst_1 : Fintype.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) (SimpleGraph.neighborSet.{u1} α G (Prod.fst.{u1, u2} α β x)))] [_inst_2 : Fintype.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} β) Type.{u2} (Set.hasCoeToSort.{u2} β) (SimpleGraph.neighborSet.{u2} β H (Prod.snd.{u1, u2} α β x)))] [_inst_3 : Fintype.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Set.{max u1 u2} (Prod.{u1, u2} α β)) Type.{max u1 u2} (Set.hasCoeToSort.{max u1 u2} (Prod.{u1, u2} α β)) (SimpleGraph.neighborSet.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H) x))], Eq.{succ (max u1 u2)} (Finset.{max u1 u2} (Prod.{u1, u2} α β)) (SimpleGraph.neighborFinset.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H) x _inst_3) (Finset.disjUnion.{max u1 u2} (Prod.{u1, u2} α β) (Finset.product.{u1, u2} α β (SimpleGraph.neighborFinset.{u1} α G (Prod.fst.{u1, u2} α β x) _inst_1) (Singleton.singleton.{u2, u2} β (Finset.{u2} β) (Finset.hasSingleton.{u2} β) (Prod.snd.{u1, u2} α β x))) (Finset.product.{u1, u2} α β (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) (Prod.fst.{u1, u2} α β x)) (SimpleGraph.neighborFinset.{u2} β H (Prod.snd.{u1, u2} α β x) _inst_2)) (Iff.mpr (Disjoint.{max u1 u2} (Finset.{max u1 u2} (Prod.{u1, u2} α β)) (Finset.partialOrder.{max u1 u2} (Prod.{u1, u2} α β)) (Finset.orderBot.{max u1 u2} (Prod.{u1, u2} α β)) (Finset.product.{u1, u2} α β (SimpleGraph.neighborFinset.{u1} α G (Prod.fst.{u1, u2} α β x) _inst_1) (Singleton.singleton.{u2, u2} β (Finset.{u2} β) (Finset.hasSingleton.{u2} β) (Prod.snd.{u1, u2} α β x))) (Finset.product.{u1, u2} α β (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) (Prod.fst.{u1, u2} α β x)) (SimpleGraph.neighborFinset.{u2} β H (Prod.snd.{u1, u2} α β x) _inst_2))) (Or (Disjoint.{u1} (Finset.{u1} α) (Finset.partialOrder.{u1} α) (Finset.orderBot.{u1} α) (SimpleGraph.neighborFinset.{u1} α G (Prod.fst.{u1, u2} α β x) _inst_1) (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) (Prod.fst.{u1, u2} α β x))) (Disjoint.{u2} (Finset.{u2} β) (Finset.partialOrder.{u2} β) (Finset.orderBot.{u2} β) (Singleton.singleton.{u2, u2} β (Finset.{u2} β) (Finset.hasSingleton.{u2} β) (Prod.snd.{u1, u2} α β x)) (SimpleGraph.neighborFinset.{u2} β H (Prod.snd.{u1, u2} α β x) _inst_2))) (Finset.disjoint_product.{u1, u2} α β (SimpleGraph.neighborFinset.{u1} α G (Prod.fst.{u1, u2} α β x) _inst_1) (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) (Prod.fst.{u1, u2} α β x)) (Singleton.singleton.{u2, u2} β (Finset.{u2} β) (Finset.hasSingleton.{u2} β) (Prod.snd.{u1, u2} α β x)) (SimpleGraph.neighborFinset.{u2} β H (Prod.snd.{u1, u2} α β x) _inst_2)) (Or.inl (Disjoint.{u1} (Finset.{u1} α) (Finset.partialOrder.{u1} α) (Finset.orderBot.{u1} α) (SimpleGraph.neighborFinset.{u1} α G (Prod.fst.{u1, u2} α β x) _inst_1) (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) (Prod.fst.{u1, u2} α β x))) (Disjoint.{u2} (Finset.{u2} β) (Finset.partialOrder.{u2} β) (Finset.orderBot.{u2} β) (Singleton.singleton.{u2, u2} β (Finset.{u2} β) (Finset.hasSingleton.{u2} β) (Prod.snd.{u1, u2} α β x)) (SimpleGraph.neighborFinset.{u2} β H (Prod.snd.{u1, u2} α β x) _inst_2)) (SimpleGraph.neighborFinset_disjoint_singleton.{u1} α G (Prod.fst.{u1, u2} α β x) _inst_1)))) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β} (x : Prod.{u2, u1} α β) [_inst_1 : Fintype.{u2} (Set.Elem.{u2} α (SimpleGraph.neighborSet.{u2} α G (Prod.fst.{u2, u1} α β x)))] [_inst_2 : Fintype.{u1} (Set.Elem.{u1} β (SimpleGraph.neighborSet.{u1} β H (Prod.snd.{u2, u1} α β x)))] [_inst_3 : Fintype.{max u2 u1} (Set.Elem.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.neighborSet.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H) x))], Eq.{max (succ u2) (succ u1)} (Finset.{max u2 u1} (Prod.{u2, u1} α β)) (SimpleGraph.neighborFinset.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H) x _inst_3) (Finset.disjUnion.{max u2 u1} (Prod.{u2, u1} α β) (Finset.product.{u2, u1} α β (SimpleGraph.neighborFinset.{u2} α G (Prod.fst.{u2, u1} α β x) _inst_1) (Singleton.singleton.{u1, u1} β (Finset.{u1} β) (Finset.instSingletonFinset.{u1} β) (Prod.snd.{u2, u1} α β x))) (Finset.product.{u2, u1} α β (Singleton.singleton.{u2, u2} α (Finset.{u2} α) (Finset.instSingletonFinset.{u2} α) (Prod.fst.{u2, u1} α β x)) (SimpleGraph.neighborFinset.{u1} β H (Prod.snd.{u2, u1} α β x) _inst_2)) (Iff.mpr (Disjoint.{max u1 u2} (Finset.{max u1 u2} (Prod.{u2, u1} α β)) (Finset.partialOrder.{max u2 u1} (Prod.{u2, u1} α β)) (Finset.instOrderBotFinsetToLEToPreorderPartialOrder.{max u2 u1} (Prod.{u2, u1} α β)) (Finset.product.{u2, u1} α β (SimpleGraph.neighborFinset.{u2} α G (Prod.fst.{u2, u1} α β x) _inst_1) (Singleton.singleton.{u1, u1} β (Finset.{u1} β) (Finset.instSingletonFinset.{u1} β) (Prod.snd.{u2, u1} α β x))) (Finset.product.{u2, u1} α β (Singleton.singleton.{u2, u2} α (Finset.{u2} α) (Finset.instSingletonFinset.{u2} α) (Prod.fst.{u2, u1} α β x)) (SimpleGraph.neighborFinset.{u1} β H (Prod.snd.{u2, u1} α β x) _inst_2))) (Or (Disjoint.{u2} (Finset.{u2} α) (Finset.partialOrder.{u2} α) (Finset.instOrderBotFinsetToLEToPreorderPartialOrder.{u2} α) (SimpleGraph.neighborFinset.{u2} α G (Prod.fst.{u2, u1} α β x) _inst_1) (Singleton.singleton.{u2, u2} α (Finset.{u2} α) (Finset.instSingletonFinset.{u2} α) (Prod.fst.{u2, u1} α β x))) (Disjoint.{u1} (Finset.{u1} β) (Finset.partialOrder.{u1} β) (Finset.instOrderBotFinsetToLEToPreorderPartialOrder.{u1} β) (Singleton.singleton.{u1, u1} β (Finset.{u1} β) (Finset.instSingletonFinset.{u1} β) (Prod.snd.{u2, u1} α β x)) (SimpleGraph.neighborFinset.{u1} β H (Prod.snd.{u2, u1} α β x) _inst_2))) (Finset.disjoint_product.{u2, u1} α β (SimpleGraph.neighborFinset.{u2} α G (Prod.fst.{u2, u1} α β x) _inst_1) (Singleton.singleton.{u2, u2} α (Finset.{u2} α) (Finset.instSingletonFinset.{u2} α) (Prod.fst.{u2, u1} α β x)) (Singleton.singleton.{u1, u1} β (Finset.{u1} β) (Finset.instSingletonFinset.{u1} β) (Prod.snd.{u2, u1} α β x)) (SimpleGraph.neighborFinset.{u1} β H (Prod.snd.{u2, u1} α β x) _inst_2)) (Or.inl (Disjoint.{u2} (Finset.{u2} α) (Finset.partialOrder.{u2} α) (Finset.instOrderBotFinsetToLEToPreorderPartialOrder.{u2} α) (SimpleGraph.neighborFinset.{u2} α G (Prod.fst.{u2, u1} α β x) _inst_1) (Singleton.singleton.{u2, u2} α (Finset.{u2} α) (Finset.instSingletonFinset.{u2} α) (Prod.fst.{u2, u1} α β x))) (Disjoint.{u1} (Finset.{u1} β) (Finset.partialOrder.{u1} β) (Finset.instOrderBotFinsetToLEToPreorderPartialOrder.{u1} β) (Singleton.singleton.{u1, u1} β (Finset.{u1} β) (Finset.instSingletonFinset.{u1} β) (Prod.snd.{u2, u1} α β x)) (SimpleGraph.neighborFinset.{u1} β H (Prod.snd.{u2, u1} α β x) _inst_2)) (SimpleGraph.neighborFinset_disjoint_singleton.{u2} α G (Prod.fst.{u2, u1} α β x) _inst_1)))) +Case conversion may be inaccurate. Consider using '#align simple_graph.box_prod_neighbor_finset SimpleGraph.boxProd_neighborFinsetₓ'. -/ /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/ /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/ theorem boxProd_neighborFinset (x : α × β) [Fintype (G.neighborSet x.1)] @@ -250,6 +342,12 @@ theorem boxProd_neighborFinset (x : α × β) [Fintype (G.neighborSet x.1)] convert Finset.map_map _ (Function.Embedding.subtype _) Finset.univ #align simple_graph.box_prod_neighbor_finset SimpleGraph.boxProd_neighborFinset +/- warning: simple_graph.box_prod_degree -> SimpleGraph.boxProd_degree is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} {G : SimpleGraph.{u1} α} {H : SimpleGraph.{u2} β} (x : Prod.{u1, u2} α β) [_inst_1 : Fintype.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) (SimpleGraph.neighborSet.{u1} α G (Prod.fst.{u1, u2} α β x)))] [_inst_2 : Fintype.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} β) Type.{u2} (Set.hasCoeToSort.{u2} β) (SimpleGraph.neighborSet.{u2} β H (Prod.snd.{u1, u2} α β x)))] [_inst_3 : Fintype.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Set.{max u1 u2} (Prod.{u1, u2} α β)) Type.{max u1 u2} (Set.hasCoeToSort.{max u1 u2} (Prod.{u1, u2} α β)) (SimpleGraph.neighborSet.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H) x))], Eq.{1} Nat (SimpleGraph.degree.{max u1 u2} (Prod.{u1, u2} α β) (SimpleGraph.boxProd.{u1, u2} α β G H) x _inst_3) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (SimpleGraph.degree.{u1} α G (Prod.fst.{u1, u2} α β x) _inst_1) (SimpleGraph.degree.{u2} β H (Prod.snd.{u1, u2} α β x) _inst_2)) +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} {G : SimpleGraph.{u2} α} {H : SimpleGraph.{u1} β} (x : Prod.{u2, u1} α β) [_inst_1 : Fintype.{u2} (Set.Elem.{u2} α (SimpleGraph.neighborSet.{u2} α G (Prod.fst.{u2, u1} α β x)))] [_inst_2 : Fintype.{u1} (Set.Elem.{u1} β (SimpleGraph.neighborSet.{u1} β H (Prod.snd.{u2, u1} α β x)))] [_inst_3 : Fintype.{max u2 u1} (Set.Elem.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.neighborSet.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H) x))], Eq.{1} Nat (SimpleGraph.degree.{max u2 u1} (Prod.{u2, u1} α β) (SimpleGraph.boxProd.{u2, u1} α β G H) x _inst_3) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (SimpleGraph.degree.{u2} α G (Prod.fst.{u2, u1} α β x) _inst_1) (SimpleGraph.degree.{u1} β H (Prod.snd.{u2, u1} α β x) _inst_2)) +Case conversion may be inaccurate. Consider using '#align simple_graph.box_prod_degree SimpleGraph.boxProd_degreeₓ'. -/ theorem boxProd_degree (x : α × β) [Fintype (G.neighborSet x.1)] [Fintype (H.neighborSet x.2)] [Fintype ((G □ H).neighborSet x)] : (G □ H).degree x = G.degree x.1 + H.degree x.2 := by diff --git a/Mathbin/Data/Finset/Finsupp.lean b/Mathbin/Data/Finset/Finsupp.lean index 410cc1fa00..a7389bbea7 100644 --- a/Mathbin/Data/Finset/Finsupp.lean +++ b/Mathbin/Data/Finset/Finsupp.lean @@ -68,7 +68,7 @@ theorem mem_finsupp_iff {t : ι → Finset α} : f ∈ s.Finsupp t ↔ f.support /- warning: finset.mem_finsupp_iff_of_support_subset -> Finset.mem_finsupp_iff_of_support_subset is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] {s : Finset.{u1} ι} {f : Finsupp.{u1, u2} ι α _inst_1} {t : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)}, (HasSubset.Subset.{u1} (Finset.{u1} ι) (Finset.hasSubset.{u1} ι) (Finsupp.support.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1) t) s) -> (Iff (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finset.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1)) (Finset.hasMem.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1)) f (Finset.finsupp.{u1, u2} ι α _inst_1 s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) (fun (_x : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) => ι -> (Finset.{u2} α)) (Finsupp.hasCoeToFun.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) t))) (forall (i : ι), Membership.Mem.{u2, u2} α (Finset.{u2} α) (Finset.hasMem.{u2} α) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) (fun (_x : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) => ι -> (Finset.{u2} α)) (Finsupp.hasCoeToFun.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) t i))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] {s : Finset.{u1} ι} {f : Finsupp.{u1, u2} ι α _inst_1} {t : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)}, (HasSubset.Subset.{u1} (Finset.{u1} ι) (Finset.hasSubset.{u1} ι) (Finsupp.support.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1) t) s) -> (Iff (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finset.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1)) (Finset.hasMem.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1)) f (Finset.finsupp.{u1, u2} ι α _inst_1 s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) (fun (_x : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) => ι -> (Finset.{u2} α)) (Finsupp.coeFun.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) t))) (forall (i : ι), Membership.Mem.{u2, u2} α (Finset.{u2} α) (Finset.hasMem.{u2} α) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) (fun (_x : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) => ι -> (Finset.{u2} α)) (Finsupp.coeFun.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) t i))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : Zero.{u1} α] {s : Finset.{u2} ι} {f : Finsupp.{u2, u1} ι α _inst_1} {t : Finsupp.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1)}, (HasSubset.Subset.{u2} (Finset.{u2} ι) (Finset.instHasSubsetFinset.{u2} ι) (Finsupp.support.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1) t) s) -> (Iff (Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} ι α _inst_1) (Finset.{max u1 u2} (Finsupp.{u2, u1} ι α _inst_1)) (Finset.instMembershipFinset.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_1)) f (Finset.finsupp.{u2, u1} ι α _inst_1 s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Finset.{u1} α) _x) (Finsupp.funLike.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1)) t))) (forall (i : ι), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Finset.{u1} α) i) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α _inst_1) f i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Finset.{u1} α) _x) (Finsupp.funLike.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1)) t i))) Case conversion may be inaccurate. Consider using '#align finset.mem_finsupp_iff_of_support_subset Finset.mem_finsupp_iff_of_support_subsetₓ'. -/ @@ -118,7 +118,7 @@ def pi (f : ι →₀ Finset α) : Finset (ι →₀ α) := /- warning: finsupp.mem_pi -> Finsupp.mem_pi is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] {f : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)} {g : Finsupp.{u1, u2} ι α _inst_1}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finset.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1)) (Finset.hasMem.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1)) g (Finsupp.pi.{u1, u2} ι α _inst_1 f)) (forall (i : ι), Membership.Mem.{u2, u2} α (Finset.{u2} α) (Finset.hasMem.{u2} α) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) g i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) (fun (_x : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) => ι -> (Finset.{u2} α)) (Finsupp.hasCoeToFun.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) f i)) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] {f : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)} {g : Finsupp.{u1, u2} ι α _inst_1}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finset.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1)) (Finset.hasMem.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1)) g (Finsupp.pi.{u1, u2} ι α _inst_1 f)) (forall (i : ι), Membership.Mem.{u2, u2} α (Finset.{u2} α) (Finset.hasMem.{u2} α) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) g i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) (fun (_x : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) => ι -> (Finset.{u2} α)) (Finsupp.coeFun.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) f i)) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : Zero.{u1} α] {f : Finsupp.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1)} {g : Finsupp.{u2, u1} ι α _inst_1}, Iff (Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} ι α _inst_1) (Finset.{max u1 u2} (Finsupp.{u2, u1} ι α _inst_1)) (Finset.instMembershipFinset.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_1)) g (Finsupp.pi.{u2, u1} ι α _inst_1 f)) (forall (i : ι), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Finset.{u1} α) i) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α _inst_1) g i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Finset.{u1} α) _x) (Finsupp.funLike.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1)) f i)) Case conversion may be inaccurate. Consider using '#align finsupp.mem_pi Finsupp.mem_piₓ'. -/ @@ -129,7 +129,7 @@ theorem mem_pi {f : ι →₀ Finset α} {g : ι →₀ α} : g ∈ f.pi ↔ ∀ /- warning: finsupp.card_pi -> Finsupp.card_pi is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] (f : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)), Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.pi.{u1, u2} ι α _inst_1 f)) (Finsupp.prod.{u1, u2, 0} ι (Finset.{u2} α) Nat (Finset.zero.{u2} α _inst_1) Nat.commMonoid f (fun (i : ι) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Nat ((Finset.{u2} α) -> Nat) (HasLiftT.mk.{1, succ u2} Nat ((Finset.{u2} α) -> Nat) (CoeTCₓ.coe.{1, succ u2} Nat ((Finset.{u2} α) -> Nat) (Nat.castCoe.{u2} ((Finset.{u2} α) -> Nat) (Pi.hasNatCast.{u2, 0} (Finset.{u2} α) (fun (ᾰ : Finset.{u2} α) => Nat) (fun (a : Finset.{u2} α) => AddMonoidWithOne.toNatCast.{0} Nat (AddCommMonoidWithOne.toAddMonoidWithOne.{0} Nat (NonAssocSemiring.toAddCommMonoidWithOne.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)))))))) (Finset.card.{u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) (fun (_x : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) => ι -> (Finset.{u2} α)) (Finsupp.hasCoeToFun.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) f i)))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] (f : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)), Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.pi.{u1, u2} ι α _inst_1 f)) (Finsupp.prod.{u1, u2, 0} ι (Finset.{u2} α) Nat (Finset.zero.{u2} α _inst_1) Nat.commMonoid f (fun (i : ι) => (fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Nat ((Finset.{u2} α) -> Nat) (HasLiftT.mk.{1, succ u2} Nat ((Finset.{u2} α) -> Nat) (CoeTCₓ.coe.{1, succ u2} Nat ((Finset.{u2} α) -> Nat) (Nat.castCoe.{u2} ((Finset.{u2} α) -> Nat) (Pi.hasNatCast.{u2, 0} (Finset.{u2} α) (fun (ᾰ : Finset.{u2} α) => Nat) (fun (a : Finset.{u2} α) => AddMonoidWithOne.toNatCast.{0} Nat (AddCommMonoidWithOne.toAddMonoidWithOne.{0} Nat (NonAssocSemiring.toAddCommMonoidWithOne.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)))))))) (Finset.card.{u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) (fun (_x : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) => ι -> (Finset.{u2} α)) (Finsupp.coeFun.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_1)) f i)))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : Zero.{u1} α] (f : Finsupp.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1)), Eq.{1} Nat (Finset.card.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_1) (Finsupp.pi.{u2, u1} ι α _inst_1 f)) (Finsupp.prod.{u2, u1, 0} ι (Finset.{u1} α) Nat (Finset.zero.{u1} α _inst_1) Nat.commMonoid f (fun (i : ι) => Nat.cast.{u1} ((Finset.{u1} α) -> Nat) (Pi.natCast.{u1, 0} (Finset.{u1} α) (fun (a._@.Mathlib.Algebra.BigOperators.Finsupp._hyg.437 : Finset.{u1} α) => Nat) (fun (a : Finset.{u1} α) => CanonicallyOrderedCommSemiring.toNatCast.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Finset.card.{u1} α (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Finset.{u1} α) _x) (Finsupp.funLike.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_1)) f i)))) Case conversion may be inaccurate. Consider using '#align finsupp.card_pi Finsupp.card_piₓ'. -/ diff --git a/Mathbin/Data/Finsupp/Alist.lean b/Mathbin/Data/Finsupp/Alist.lean index e939f68caf..a90a857a8f 100644 --- a/Mathbin/Data/Finsupp/Alist.lean +++ b/Mathbin/Data/Finsupp/Alist.lean @@ -60,7 +60,7 @@ theorem toAList_keys_toFinset [DecidableEq α] (f : α →₀ M) : f.toAList.key /- warning: finsupp.mem_to_alist -> Finsupp.mem_toAlist is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {x : α}, Iff (Membership.Mem.{u1, max u1 u2} α (AList.{u1, u2} α (fun (x : α) => M)) (AList.hasMem.{u1, u2} α (fun (x : α) => M)) x (Finsupp.toAList.{u1, u2} α M _inst_1 f)) (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f x) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {x : α}, Iff (Membership.Mem.{u1, max u1 u2} α (AList.{u1, u2} α (fun (x : α) => M)) (AList.hasMem.{u1, u2} α (fun (x : α) => M)) x (Finsupp.toAList.{u1, u2} α M _inst_1 f)) (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f x) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {x : α}, Iff (Membership.mem.{u2, max u2 u1} α (AList.{u2, u1} α (fun (x : α) => M)) (AList.instMembershipAList.{u2, u1} α (fun (x : α) => M)) x (Finsupp.toAList.{u2, u1} α M _inst_1 f)) (Ne.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f x) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.mem_to_alist Finsupp.mem_toAlistₓ'. -/ @@ -97,7 +97,7 @@ noncomputable def lookupFinsupp (l : AList fun x : α => M) : α →₀ M /- warning: alist.lookup_finsupp_apply -> AList.lookupFinsupp_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] (l : AList.{u1, u2} α (fun (x : α) => M)) (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (AList.lookupFinsupp.{u1, u2} α M _inst_1 l) a) (Option.getD.{u2} M (AList.lookup.{u1, u2} α (fun (x : α) => M) (fun (a : α) (b : α) => _inst_2 a b) a l) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] (l : AList.{u1, u2} α (fun (x : α) => M)) (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (AList.lookupFinsupp.{u1, u2} α M _inst_1 l) a) (Option.getD.{u2} M (AList.lookup.{u1, u2} α (fun (x : α) => M) (fun (a : α) (b : α) => _inst_2 a b) a l) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] [_inst_2 : DecidableEq.{succ u2} α] (l : AList.{u2, u1} α (fun (x : α) => M)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (AList.lookupFinsupp.{u2, u1} α M _inst_1 l) a) (Option.getD.{u1} M (AList.lookup.{u2, u1} α (fun (x : α) => M) (fun (a : α) (b : α) => _inst_2 a b) a l) (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_1))) Case conversion may be inaccurate. Consider using '#align alist.lookup_finsupp_apply AList.lookupFinsupp_applyₓ'. -/ @@ -119,7 +119,7 @@ theorem lookupFinsupp_support [DecidableEq α] [DecidableEq M] (l : AList fun x /- warning: alist.lookup_finsupp_eq_iff_of_ne_zero -> AList.lookupFinsupp_eq_iff_of_ne_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] {l : AList.{u1, u2} α (fun (x : α) => M)} {a : α} {x : M}, (Ne.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) -> (Iff (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (AList.lookupFinsupp.{u1, u2} α M _inst_1 l) a) x) (Membership.Mem.{u2, u2} M (Option.{u2} M) (Option.hasMem.{u2} M) x (AList.lookup.{u1, u2} α (fun (x : α) => M) (fun (a : α) (b : α) => _inst_2 a b) a l))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] {l : AList.{u1, u2} α (fun (x : α) => M)} {a : α} {x : M}, (Ne.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) -> (Iff (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (AList.lookupFinsupp.{u1, u2} α M _inst_1 l) a) x) (Membership.Mem.{u2, u2} M (Option.{u2} M) (Option.hasMem.{u2} M) x (AList.lookup.{u1, u2} α (fun (x : α) => M) (fun (a : α) (b : α) => _inst_2 a b) a l))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] [_inst_2 : DecidableEq.{succ u2} α] {l : AList.{u2, u1} α (fun (x : α) => M)} {a : α} {x : M}, (Ne.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_1))) -> (Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (AList.lookupFinsupp.{u2, u1} α M _inst_1 l) a) x) (Membership.mem.{u1, u1} M (Option.{u1} M) (Option.instMembershipOption.{u1} M) x (AList.lookup.{u2, u1} α (fun (x : α) => M) (fun (a : α) (b : α) => _inst_2 a b) a l))) Case conversion may be inaccurate. Consider using '#align alist.lookup_finsupp_eq_iff_of_ne_zero AList.lookupFinsupp_eq_iff_of_ne_zeroₓ'. -/ @@ -132,7 +132,7 @@ theorem lookupFinsupp_eq_iff_of_ne_zero [DecidableEq α] {l : AList fun x : α = /- warning: alist.lookup_finsupp_eq_zero_iff -> AList.lookupFinsupp_eq_zero_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] {l : AList.{u1, u2} α (fun (x : α) => M)} {a : α}, Iff (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (AList.lookupFinsupp.{u1, u2} α M _inst_1 l) a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) (Or (Not (Membership.Mem.{u1, max u1 u2} α (AList.{u1, u2} α (fun (x : α) => M)) (AList.hasMem.{u1, u2} α (fun (x : α) => M)) a l)) (Membership.Mem.{u2, u2} M (Option.{u2} M) (Option.hasMem.{u2} M) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))) (AList.lookup.{u1, u2} α (fun (x : α) => M) (fun (a : α) (b : α) => _inst_2 a b) a l))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] {l : AList.{u1, u2} α (fun (x : α) => M)} {a : α}, Iff (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (AList.lookupFinsupp.{u1, u2} α M _inst_1 l) a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) (Or (Not (Membership.Mem.{u1, max u1 u2} α (AList.{u1, u2} α (fun (x : α) => M)) (AList.hasMem.{u1, u2} α (fun (x : α) => M)) a l)) (Membership.Mem.{u2, u2} M (Option.{u2} M) (Option.hasMem.{u2} M) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))) (AList.lookup.{u1, u2} α (fun (x : α) => M) (fun (a : α) (b : α) => _inst_2 a b) a l))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] [_inst_2 : DecidableEq.{succ u2} α] {l : AList.{u2, u1} α (fun (x : α) => M)} {a : α}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (AList.lookupFinsupp.{u2, u1} α M _inst_1 l) a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1))) (Or (Not (Membership.mem.{u2, max u2 u1} α (AList.{u2, u1} α (fun (x : α) => M)) (AList.instMembershipAList.{u2, u1} α (fun (x : α) => M)) a l)) (Membership.mem.{u1, u1} M (Option.{u1} M) (Option.instMembershipOption.{u1} M) (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_1)) (AList.lookup.{u2, u1} α (fun (x : α) => M) (fun (a : α) (b : α) => _inst_2 a b) a l))) Case conversion may be inaccurate. Consider using '#align alist.lookup_finsupp_eq_zero_iff AList.lookupFinsupp_eq_zero_iffₓ'. -/ @@ -145,7 +145,7 @@ theorem lookupFinsupp_eq_zero_iff [DecidableEq α] {l : AList fun x : α => M} { /- warning: alist.empty_lookup_finsupp -> AList.empty_lookupFinsupp is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M], Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (AList.lookupFinsupp.{u1, u2} α M _inst_1 (EmptyCollection.emptyCollection.{max u1 u2} (AList.{u1, u2} α (fun (x : α) => M)) (AList.hasEmptyc.{u1, u2} α (fun (x : α) => M)))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M], Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (AList.lookupFinsupp.{u1, u2} α M _inst_1 (EmptyCollection.emptyCollection.{max u1 u2} (AList.{u1, u2} α (fun (x : α) => M)) (AList.hasEmptyc.{u1, u2} α (fun (x : α) => M)))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M], Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) (AList.lookupFinsupp.{u2, u1} α M _inst_1 (EmptyCollection.emptyCollection.{max u2 u1} (AList.{u2, u1} α (fun (x : α) => M)) (AList.instEmptyCollectionAList.{u2, u1} α (fun (x : α) => M)))) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1))) Case conversion may be inaccurate. Consider using '#align alist.empty_lookup_finsupp AList.empty_lookupFinsuppₓ'. -/ diff --git a/Mathbin/Data/Finsupp/Antidiagonal.lean b/Mathbin/Data/Finsupp/Antidiagonal.lean index e92a377ca0..77e3754a85 100644 --- a/Mathbin/Data/Finsupp/Antidiagonal.lean +++ b/Mathbin/Data/Finsupp/Antidiagonal.lean @@ -49,12 +49,7 @@ def antidiagonal (f : α →₀ ℕ) : Finset ((α →₀ ℕ) × (α →₀ ℕ #align finsupp.antidiagonal Finsupp.antidiagonal -/ -/- warning: finsupp.mem_antidiagonal -> Finsupp.mem_antidiagonal is a dubious translation: -lean 3 declaration is - forall {α : Type.{u1}} {f : Finsupp.{u1, 0} α Nat Nat.hasZero} {p : Prod.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero)}, Iff (Membership.Mem.{u1, u1} (Prod.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero)) (Finset.{u1} (Prod.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero))) (Finset.hasMem.{u1} (Prod.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero))) p (Finsupp.antidiagonal.{u1} α f)) (Eq.{succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) (instHAdd.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Prod.fst.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) p) (Prod.snd.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) p)) f) -but is expected to have type - forall {α : Type.{u1}} {f : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {p : Prod.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))}, Iff (Membership.mem.{u1, u1} (Prod.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.{u1} (Prod.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Finset.instMembershipFinset.{u1} (Prod.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) p (Finsupp.antidiagonal.{u1} α f)) (Eq.{succ u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Prod.fst.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) p) (Prod.snd.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) p)) f) -Case conversion may be inaccurate. Consider using '#align finsupp.mem_antidiagonal Finsupp.mem_antidiagonalₓ'. -/ +#print Finsupp.mem_antidiagonal /- @[simp] theorem mem_antidiagonal {f : α →₀ ℕ} {p : (α →₀ ℕ) × (α →₀ ℕ)} : p ∈ antidiagonal f ↔ p.1 + p.2 = f := @@ -62,6 +57,7 @@ theorem mem_antidiagonal {f : α →₀ ℕ} {p : (α →₀ ℕ) × (α →₀ rcases p with ⟨p₁, p₂⟩ simp [antidiagonal, antidiagonal', ← and_assoc, ← finsupp.to_multiset.apply_eq_iff_eq] #align finsupp.mem_antidiagonal Finsupp.mem_antidiagonal +-/ #print Finsupp.swap_mem_antidiagonal /- theorem swap_mem_antidiagonal {n : α →₀ ℕ} {f : (α →₀ ℕ) × (α →₀ ℕ)} : diff --git a/Mathbin/Data/Finsupp/Basic.lean b/Mathbin/Data/Finsupp/Basic.lean index 6262ba7ece..0e3adc6298 100644 --- a/Mathbin/Data/Finsupp/Basic.lean +++ b/Mathbin/Data/Finsupp/Basic.lean @@ -75,7 +75,7 @@ def graph (f : α →₀ M) : Finset (α × M) := /- warning: finsupp.mk_mem_graph_iff -> Finsupp.mk_mem_graph_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {m : M} {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} α M) (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasMem.{max u1 u2} (Prod.{u1, u2} α M)) (Prod.mk.{u1, u2} α M a m) (Finsupp.graph.{u1, u2} α M _inst_1 f)) (And (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) m) (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {m : M} {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} α M) (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasMem.{max u1 u2} (Prod.{u1, u2} α M)) (Prod.mk.{u1, u2} α M a m) (Finsupp.graph.{u1, u2} α M _inst_1 f)) (And (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) m) (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {a : α} {m : M} {f : Finsupp.{u2, u1} α M _inst_1}, Iff (Membership.mem.{max u1 u2, max u2 u1} (Prod.{u2, u1} α M) (Finset.{max u1 u2} (Prod.{u2, u1} α M)) (Finset.instMembershipFinset.{max u2 u1} (Prod.{u2, u1} α M)) (Prod.mk.{u2, u1} α M a m) (Finsupp.graph.{u2, u1} α M _inst_1 f)) (And (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) m) (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.mk_mem_graph_iff Finsupp.mk_mem_graph_iffₓ'. -/ @@ -91,7 +91,7 @@ theorem mk_mem_graph_iff {a : α} {m : M} {f : α →₀ M} : (a, m) ∈ f.graph /- warning: finsupp.mem_graph_iff -> Finsupp.mem_graph_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {c : Prod.{u1, u2} α M} {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} α M) (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasMem.{max u1 u2} (Prod.{u1, u2} α M)) c (Finsupp.graph.{u1, u2} α M _inst_1 f)) (And (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f (Prod.fst.{u1, u2} α M c)) (Prod.snd.{u1, u2} α M c)) (Ne.{succ u2} M (Prod.snd.{u1, u2} α M c) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {c : Prod.{u1, u2} α M} {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} α M) (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasMem.{max u1 u2} (Prod.{u1, u2} α M)) c (Finsupp.graph.{u1, u2} α M _inst_1 f)) (And (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f (Prod.fst.{u1, u2} α M c)) (Prod.snd.{u1, u2} α M c)) (Ne.{succ u2} M (Prod.snd.{u1, u2} α M c) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {c : Prod.{u2, u1} α M} {f : Finsupp.{u2, u1} α M _inst_1}, Iff (Membership.mem.{max u2 u1, max u2 u1} (Prod.{u2, u1} α M) (Finset.{max u1 u2} (Prod.{u2, u1} α M)) (Finset.instMembershipFinset.{max u2 u1} (Prod.{u2, u1} α M)) c (Finsupp.graph.{u2, u1} α M _inst_1 f)) (And (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) (Prod.fst.{u2, u1} α M c)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f (Prod.fst.{u2, u1} α M c)) (Prod.snd.{u2, u1} α M c)) (Ne.{succ u1} M (Prod.snd.{u2, u1} α M c) (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.mem_graph_iff Finsupp.mem_graph_iffₓ'. -/ @@ -104,7 +104,7 @@ theorem mem_graph_iff {c : α × M} {f : α →₀ M} : c ∈ f.graph ↔ f c.1 /- warning: finsupp.mk_mem_graph -> Finsupp.mk_mem_graph is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : Finsupp.{u1, u2} α M _inst_1) {a : α}, (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M _inst_1 f)) -> (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} α M) (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasMem.{max u1 u2} (Prod.{u1, u2} α M)) (Prod.mk.{u1, u2} α M a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a)) (Finsupp.graph.{u1, u2} α M _inst_1 f)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : Finsupp.{u1, u2} α M _inst_1) {a : α}, (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M _inst_1 f)) -> (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} α M) (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasMem.{max u1 u2} (Prod.{u1, u2} α M)) (Prod.mk.{u1, u2} α M a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a)) (Finsupp.graph.{u1, u2} α M _inst_1 f)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : Finsupp.{u2, u1} α M _inst_1) {a : α}, (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a (Finsupp.support.{u2, u1} α M _inst_1 f)) -> (Membership.mem.{max u1 u2, max u2 u1} (Prod.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a)) (Finset.{max u1 u2} (Prod.{u2, u1} α M)) (Finset.instMembershipFinset.{max u2 u1} (Prod.{u2, u1} α M)) (Prod.mk.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) a (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a)) (Finsupp.graph.{u2, u1} α M _inst_1 f)) Case conversion may be inaccurate. Consider using '#align finsupp.mk_mem_graph Finsupp.mk_mem_graphₓ'. -/ @@ -114,7 +114,7 @@ theorem mk_mem_graph (f : α →₀ M) {a : α} (ha : a ∈ f.support) : (a, f a /- warning: finsupp.apply_eq_of_mem_graph -> Finsupp.apply_eq_of_mem_graph is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {m : M} {f : Finsupp.{u1, u2} α M _inst_1}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} α M) (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasMem.{max u1 u2} (Prod.{u1, u2} α M)) (Prod.mk.{u1, u2} α M a m) (Finsupp.graph.{u1, u2} α M _inst_1 f)) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) m) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {m : M} {f : Finsupp.{u1, u2} α M _inst_1}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} α M) (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasMem.{max u1 u2} (Prod.{u1, u2} α M)) (Prod.mk.{u1, u2} α M a m) (Finsupp.graph.{u1, u2} α M _inst_1 f)) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) m) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {a : α} {m : M} {f : Finsupp.{u2, u1} α M _inst_1}, (Membership.mem.{max u1 u2, max u2 u1} (Prod.{u2, u1} α M) (Finset.{max u1 u2} (Prod.{u2, u1} α M)) (Finset.instMembershipFinset.{max u2 u1} (Prod.{u2, u1} α M)) (Prod.mk.{u2, u1} α M a m) (Finsupp.graph.{u2, u1} α M _inst_1 f)) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) m) Case conversion may be inaccurate. Consider using '#align finsupp.apply_eq_of_mem_graph Finsupp.apply_eq_of_mem_graphₓ'. -/ @@ -172,7 +172,7 @@ theorem graph_inj {f g : α →₀ M} : f.graph = g.graph ↔ f = g := /- warning: finsupp.graph_zero -> Finsupp.graph_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M], Eq.{succ (max u1 u2)} (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finsupp.graph.{u1, u2} α M _inst_1 (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) (EmptyCollection.emptyCollection.{max u1 u2} (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasEmptyc.{max u1 u2} (Prod.{u1, u2} α M))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M], Eq.{succ (max u1 u2)} (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finsupp.graph.{u1, u2} α M _inst_1 (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) (EmptyCollection.emptyCollection.{max u1 u2} (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasEmptyc.{max u1 u2} (Prod.{u1, u2} α M))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M], Eq.{max (succ u2) (succ u1)} (Finset.{max u1 u2} (Prod.{u2, u1} α M)) (Finsupp.graph.{u2, u1} α M _inst_1 (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) (EmptyCollection.emptyCollection.{max u2 u1} (Finset.{max u1 u2} (Prod.{u2, u1} α M)) (Finset.instEmptyCollectionFinset.{max u2 u1} (Prod.{u2, u1} α M))) Case conversion may be inaccurate. Consider using '#align finsupp.graph_zero Finsupp.graph_zeroₓ'. -/ @@ -182,7 +182,7 @@ theorem graph_zero : graph (0 : α →₀ M) = ∅ := by simp [graph] /- warning: finsupp.graph_eq_empty -> Finsupp.graph_eq_empty is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{succ (max u1 u2)} (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finsupp.graph.{u1, u2} α M _inst_1 f) (EmptyCollection.emptyCollection.{max u1 u2} (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasEmptyc.{max u1 u2} (Prod.{u1, u2} α M)))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{succ (max u1 u2)} (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finsupp.graph.{u1, u2} α M _inst_1 f) (EmptyCollection.emptyCollection.{max u1 u2} (Finset.{max u1 u2} (Prod.{u1, u2} α M)) (Finset.hasEmptyc.{max u1 u2} (Prod.{u1, u2} α M)))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (Finset.{max u1 u2} (Prod.{u2, u1} α M)) (Finsupp.graph.{u2, u1} α M _inst_1 f) (EmptyCollection.emptyCollection.{max u2 u1} (Finset.{max u1 u2} (Prod.{u2, u1} α M)) (Finset.instEmptyCollectionFinset.{max u2 u1} (Prod.{u2, u1} α M)))) (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.graph_eq_empty Finsupp.graph_eq_emptyₓ'. -/ @@ -280,7 +280,7 @@ def mapRange.zeroHom (f : ZeroHom M N) : ZeroHom (α →₀ M) (α →₀ N) /- warning: finsupp.map_range.zero_hom_id -> Finsupp.mapRange.zeroHom_id is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M], Eq.{succ (max u1 u2)} (ZeroHom.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)) (Finsupp.mapRange.zeroHom.{u1, u2, u2} α M M _inst_1 _inst_1 (ZeroHom.id.{u2} M _inst_1)) (ZeroHom.id.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M], Eq.{succ (max u1 u2)} (ZeroHom.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)) (Finsupp.mapRange.zeroHom.{u1, u2, u2} α M M _inst_1 _inst_1 (ZeroHom.id.{u2} M _inst_1)) (ZeroHom.id.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M], Eq.{max (succ u2) (succ u1)} (ZeroHom.{max u1 u2, max u1 u2} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)) (Finsupp.mapRange.zeroHom.{u2, u1, u1} α M M _inst_1 _inst_1 (ZeroHom.id.{u1} M _inst_1)) (ZeroHom.id.{max u1 u2} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.zero_hom_id Finsupp.mapRange.zeroHom_idₓ'. -/ @@ -291,7 +291,7 @@ theorem mapRange.zeroHom_id : mapRange.zeroHom (ZeroHom.id M) = ZeroHom.id (α /- warning: finsupp.map_range.zero_hom_comp -> Finsupp.mapRange.zeroHom_comp is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {P : Type.{u4}} [_inst_1 : Zero.{u2} M] [_inst_2 : Zero.{u3} N] [_inst_3 : Zero.{u4} P] (f : ZeroHom.{u3, u4} N P _inst_2 _inst_3) (f₂ : ZeroHom.{u2, u3} M N _inst_1 _inst_2), Eq.{max (succ (max u1 u4)) (succ (max u1 u2))} (ZeroHom.{max u1 u2, max u1 u4} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.{u1, u4} α P _inst_3) (Finsupp.hasZero.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u4} α P _inst_3)) (Finsupp.mapRange.zeroHom.{u1, u2, u4} α M P _inst_1 _inst_3 (ZeroHom.comp.{u2, u3, u4} M N P _inst_1 _inst_2 _inst_3 f f₂)) (ZeroHom.comp.{max u1 u2, max u1 u3, max u1 u4} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.{u1, u3} α N _inst_2) (Finsupp.{u1, u4} α P _inst_3) (Finsupp.hasZero.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u3} α N _inst_2) (Finsupp.hasZero.{u1, u4} α P _inst_3) (Finsupp.mapRange.zeroHom.{u1, u3, u4} α N P _inst_2 _inst_3 f) (Finsupp.mapRange.zeroHom.{u1, u2, u3} α M N _inst_1 _inst_2 f₂)) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {P : Type.{u4}} [_inst_1 : Zero.{u2} M] [_inst_2 : Zero.{u3} N] [_inst_3 : Zero.{u4} P] (f : ZeroHom.{u3, u4} N P _inst_2 _inst_3) (f₂ : ZeroHom.{u2, u3} M N _inst_1 _inst_2), Eq.{max (succ (max u1 u4)) (succ (max u1 u2))} (ZeroHom.{max u1 u2, max u1 u4} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.{u1, u4} α P _inst_3) (Finsupp.zero.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u4} α P _inst_3)) (Finsupp.mapRange.zeroHom.{u1, u2, u4} α M P _inst_1 _inst_3 (ZeroHom.comp.{u2, u3, u4} M N P _inst_1 _inst_2 _inst_3 f f₂)) (ZeroHom.comp.{max u1 u2, max u1 u3, max u1 u4} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.{u1, u3} α N _inst_2) (Finsupp.{u1, u4} α P _inst_3) (Finsupp.zero.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u3} α N _inst_2) (Finsupp.zero.{u1, u4} α P _inst_3) (Finsupp.mapRange.zeroHom.{u1, u3, u4} α N P _inst_2 _inst_3 f) (Finsupp.mapRange.zeroHom.{u1, u2, u3} α M N _inst_1 _inst_2 f₂)) but is expected to have type forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u4}} {P : Type.{u3}} [_inst_1 : Zero.{u2} M] [_inst_2 : Zero.{u4} N] [_inst_3 : Zero.{u3} P] (f : ZeroHom.{u4, u3} N P _inst_2 _inst_3) (f₂ : ZeroHom.{u2, u4} M N _inst_1 _inst_2), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (ZeroHom.{max u2 u1, max u3 u1} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.{u1, u3} α P _inst_3) (Finsupp.zero.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u3} α P _inst_3)) (Finsupp.mapRange.zeroHom.{u1, u2, u3} α M P _inst_1 _inst_3 (ZeroHom.comp.{u2, u4, u3} M N P _inst_1 _inst_2 _inst_3 f f₂)) (ZeroHom.comp.{max u2 u1, max u4 u1, max u3 u1} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.{u1, u4} α N _inst_2) (Finsupp.{u1, u3} α P _inst_3) (Finsupp.zero.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u4} α N _inst_2) (Finsupp.zero.{u1, u3} α P _inst_3) (Finsupp.mapRange.zeroHom.{u1, u4, u3} α N P _inst_2 _inst_3 f) (Finsupp.mapRange.zeroHom.{u1, u2, u4} α M N _inst_1 _inst_2 f₂)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.zero_hom_comp Finsupp.mapRange.zeroHom_compₓ'. -/ @@ -383,7 +383,7 @@ theorem mapRange_finset_sum (f : M →+ N) (s : Finset ι) (g : ι → α →₀ /- warning: finsupp.map_range.add_equiv -> Finsupp.mapRange.addEquiv is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N], (AddEquiv.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) -> (AddEquiv.{max u1 u2, max u1 u3} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.hasAdd.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N], (AddEquiv.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) -> (AddEquiv.{max u1 u2, max u1 u3} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) but is expected to have type forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N], (AddEquiv.{u2, u3} M N (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) -> (AddEquiv.{max u2 u1, max u3 u1} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.add_equiv Finsupp.mapRange.addEquivₓ'. -/ @@ -409,7 +409,7 @@ def mapRange.addEquiv (f : M ≃+ N) : (α →₀ M) ≃+ (α →₀ N) := /- warning: finsupp.map_range.add_equiv_refl -> Finsupp.mapRange.addEquiv_refl is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M], Eq.{succ (max u1 u2)} (AddEquiv.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.mapRange.addEquiv.{u1, u2, u2} α M M _inst_1 _inst_1 (AddEquiv.refl.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))))) (AddEquiv.refl.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M], Eq.{succ (max u1 u2)} (AddEquiv.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.mapRange.addEquiv.{u1, u2, u2} α M M _inst_1 _inst_1 (AddEquiv.refl.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))))) (AddEquiv.refl.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddCommMonoid.{u1} M], Eq.{max (succ u2) (succ u1)} (AddEquiv.{max u1 u2, max u1 u2} (Finsupp.{u2, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.{u2, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1)))) (Finsupp.mapRange.addEquiv.{u2, u1, u1} α M M _inst_1 _inst_1 (AddEquiv.refl.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))))) (AddEquiv.refl.{max u1 u2} (Finsupp.{u2, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.add_equiv_refl Finsupp.mapRange.addEquiv_reflₓ'. -/ @@ -420,7 +420,7 @@ theorem mapRange.addEquiv_refl : mapRange.addEquiv (AddEquiv.refl M) = AddEquiv. /- warning: finsupp.map_range.add_equiv_trans -> Finsupp.mapRange.addEquiv_trans is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : AddCommMonoid.{u4} P] (f : AddEquiv.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (f₂ : AddEquiv.{u3, u4} N P (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddZeroClass.toHasAdd.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3)))), Eq.{max (succ (max u1 u2)) (succ (max u1 u4))} (AddEquiv.{max u1 u2, max u1 u4} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u4} α P (AddZeroClass.toHasZero.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.hasAdd.{u1, u4} α P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3)))) (Finsupp.mapRange.addEquiv.{u1, u2, u4} α M P _inst_1 _inst_3 (AddEquiv.trans.{u2, u3, u4} M N P (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddZeroClass.toHasAdd.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3))) f f₂)) (AddEquiv.trans.{max u1 u2, max u1 u3, max u1 u4} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (Finsupp.{u1, u4} α P (AddZeroClass.toHasZero.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.hasAdd.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (Finsupp.hasAdd.{u1, u4} α P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3))) (Finsupp.mapRange.addEquiv.{u1, u2, u3} α M N _inst_1 _inst_2 f) (Finsupp.mapRange.addEquiv.{u1, u3, u4} α N P _inst_2 _inst_3 f₂)) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : AddCommMonoid.{u4} P] (f : AddEquiv.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (f₂ : AddEquiv.{u3, u4} N P (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddZeroClass.toHasAdd.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3)))), Eq.{max (succ (max u1 u2)) (succ (max u1 u4))} (AddEquiv.{max u1 u2, max u1 u4} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u4} α P (AddZeroClass.toHasZero.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u4} α P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3)))) (Finsupp.mapRange.addEquiv.{u1, u2, u4} α M P _inst_1 _inst_3 (AddEquiv.trans.{u2, u3, u4} M N P (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddZeroClass.toHasAdd.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3))) f f₂)) (AddEquiv.trans.{max u1 u2, max u1 u3, max u1 u4} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (Finsupp.{u1, u4} α P (AddZeroClass.toHasZero.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (Finsupp.add.{u1, u4} α P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_3))) (Finsupp.mapRange.addEquiv.{u1, u2, u3} α M N _inst_1 _inst_2 f) (Finsupp.mapRange.addEquiv.{u1, u3, u4} α N P _inst_2 _inst_3 f₂)) but is expected to have type forall {α : Type.{u1}} {M : Type.{u4}} {N : Type.{u3}} {P : Type.{u2}} [_inst_1 : AddCommMonoid.{u4} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : AddCommMonoid.{u2} P] (f : AddEquiv.{u4, u3} M N (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (AddZeroClass.toAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (f₂ : AddEquiv.{u3, u2} N P (AddZeroClass.toAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddZeroClass.toAdd.{u2} P (AddMonoid.toAddZeroClass.{u2} P (AddCommMonoid.toAddMonoid.{u2} P _inst_3)))), Eq.{max (max (succ u1) (succ u4)) (succ u2)} (AddEquiv.{max u4 u1, max u2 u1} (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.{u1, u2} α P (AddMonoid.toZero.{u2} P (AddCommMonoid.toAddMonoid.{u2} P _inst_3))) (Finsupp.add.{u1, u4} α M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.add.{u1, u2} α P (AddMonoid.toAddZeroClass.{u2} P (AddCommMonoid.toAddMonoid.{u2} P _inst_3)))) (Finsupp.mapRange.addEquiv.{u1, u4, u2} α M P _inst_1 _inst_3 (AddEquiv.trans.{u4, u3, u2} M N P (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (AddZeroClass.toAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddZeroClass.toAdd.{u2} P (AddMonoid.toAddZeroClass.{u2} P (AddCommMonoid.toAddMonoid.{u2} P _inst_3))) f f₂)) (AddEquiv.trans.{max u4 u1, max u3 u1, max u2 u1} (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (Finsupp.{u1, u2} α P (AddMonoid.toZero.{u2} P (AddCommMonoid.toAddMonoid.{u2} P _inst_3))) (Finsupp.add.{u1, u4} α M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.add.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (Finsupp.add.{u1, u2} α P (AddMonoid.toAddZeroClass.{u2} P (AddCommMonoid.toAddMonoid.{u2} P _inst_3))) (Finsupp.mapRange.addEquiv.{u1, u4, u3} α M N _inst_1 _inst_2 f) (Finsupp.mapRange.addEquiv.{u1, u3, u2} α N P _inst_2 _inst_3 f₂)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.add_equiv_trans Finsupp.mapRange.addEquiv_transₓ'. -/ @@ -432,7 +432,7 @@ theorem mapRange.addEquiv_trans (f : M ≃+ N) (f₂ : N ≃+ P) : /- warning: finsupp.map_range.add_equiv_symm -> Finsupp.mapRange.addEquiv_symm is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] (f : AddEquiv.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))), Eq.{max (succ (max u1 u3)) (succ (max u1 u2))} (AddEquiv.{max u1 u3, max u1 u2} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.hasAdd.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (AddEquiv.symm.{max u1 u2, max u1 u3} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.hasAdd.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (Finsupp.mapRange.addEquiv.{u1, u2, u3} α M N _inst_1 _inst_2 f)) (Finsupp.mapRange.addEquiv.{u1, u3, u2} α N M _inst_2 _inst_1 (AddEquiv.symm.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) f)) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] (f : AddEquiv.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))), Eq.{max (succ (max u1 u3)) (succ (max u1 u2))} (AddEquiv.{max u1 u3, max u1 u2} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.add.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (AddEquiv.symm.{max u1 u2, max u1 u3} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (Finsupp.mapRange.addEquiv.{u1, u2, u3} α M N _inst_1 _inst_2 f)) (Finsupp.mapRange.addEquiv.{u1, u3, u2} α N M _inst_2 _inst_1 (AddEquiv.symm.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) f)) but is expected to have type forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u2} N] (f : AddEquiv.{u3, u2} M N (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2)))), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AddEquiv.{max u2 u1, max u3 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Finsupp.add.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (AddEquiv.symm.{max u3 u1, max u2 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Finsupp.add.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Finsupp.mapRange.addEquiv.{u1, u3, u2} α M N _inst_1 _inst_2 f)) (Finsupp.mapRange.addEquiv.{u1, u2, u3} α N M _inst_2 _inst_1 (AddEquiv.symm.{u3, u2} M N (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) f)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.add_equiv_symm Finsupp.mapRange.addEquiv_symmₓ'. -/ @@ -457,7 +457,7 @@ theorem mapRange.addEquiv_toAddMonoidHom (f : M ≃+ N) : /- warning: finsupp.map_range.add_equiv_to_equiv -> Finsupp.mapRange.addEquiv_toEquiv is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] (f : AddEquiv.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))), Eq.{max 1 (max (succ (max u1 u2)) (succ (max u1 u3))) (succ (max u1 u3)) (succ (max u1 u2))} (Equiv.{succ (max u1 u2), succ (max u1 u3)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))))) (AddEquiv.toEquiv.{max u1 u2, max u1 u3} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.hasAdd.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (Finsupp.mapRange.addEquiv.{u1, u2, u3} α M N _inst_1 _inst_2 f)) (Finsupp.mapRange.equiv.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddEquiv.toEquiv.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) f) (AddEquiv.map_zero.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) f) (AddEquiv.map_zero.{u3, u2} N M (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) (AddEquiv.symm.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) f))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] (f : AddEquiv.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))), Eq.{max 1 (max (succ (max u1 u2)) (succ (max u1 u3))) (succ (max u1 u3)) (succ (max u1 u2))} (Equiv.{succ (max u1 u2), succ (max u1 u3)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))))) (AddEquiv.toEquiv.{max u1 u2, max u1 u3} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u3} α N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (Finsupp.mapRange.addEquiv.{u1, u2, u3} α M N _inst_1 _inst_2 f)) (Finsupp.mapRange.equiv.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddEquiv.toEquiv.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) f) (AddEquiv.map_zero.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) f) (AddEquiv.map_zero.{u3, u2} N M (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) (AddEquiv.symm.{u2, u3} M N (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (AddZeroClass.toHasAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) f))) but is expected to have type forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u2} N] (f : AddEquiv.{u3, u2} M N (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2)))), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (Equiv.{succ (max u3 u1), succ (max u2 u1)} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2)))) (AddEquiv.toEquiv.{max u3 u1, max u2 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Finsupp.add.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (Finsupp.mapRange.addEquiv.{u1, u3, u2} α M N _inst_1 _inst_2 f)) (Finsupp.mapRange.equiv.{u1, u3, u2} α M N (AddZeroClass.toZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (AddZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : M) => N) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddZeroClass.toZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))))) (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) (AddEquiv.toEquiv.{u3, u2} M N (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) f) (AddEquiv.map_zero.{u2, u3} M N (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2)) f) (AddEquiv.map_zero.{u3, u2} N M (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2)) (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (AddEquiv.symm.{u3, u2} M N (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_2))) f))) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.add_equiv_to_equiv Finsupp.mapRange.addEquiv_toEquivₓ'. -/ @@ -496,7 +496,7 @@ def equivMapDomain (f : α ≃ β) (l : α →₀ M) : β →₀ M /- warning: finsupp.equiv_map_domain_apply -> Finsupp.equivMapDomain_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : Equiv.{succ u1, succ u2} α β) (l : Finsupp.{u1, u3} α M _inst_1) (b : β), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (fun (_x : Finsupp.{u2, u3} β M _inst_1) => β -> M) (Finsupp.hasCoeToFun.{u2, u3} β M _inst_1) (Finsupp.equivMapDomain.{u1, u2, u3} α β M _inst_1 f l) b) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) (fun (_x : Finsupp.{u1, u3} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u3} α M _inst_1) l (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} β α) (fun (_x : Equiv.{succ u2, succ u1} β α) => β -> α) (Equiv.hasCoeToFun.{succ u2, succ u1} β α) (Equiv.symm.{succ u1, succ u2} α β f) b)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : Equiv.{succ u1, succ u2} α β) (l : Finsupp.{u1, u3} α M _inst_1) (b : β), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (fun (_x : Finsupp.{u2, u3} β M _inst_1) => β -> M) (Finsupp.coeFun.{u2, u3} β M _inst_1) (Finsupp.equivMapDomain.{u1, u2, u3} α β M _inst_1 f l) b) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) (fun (_x : Finsupp.{u1, u3} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u3} α M _inst_1) l (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} β α) (fun (_x : Equiv.{succ u2, succ u1} β α) => β -> α) (Equiv.hasCoeToFun.{succ u2, succ u1} β α) (Equiv.symm.{succ u1, succ u2} α β f) b)) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : Equiv.{succ u3, succ u2} α β) (l : Finsupp.{u3, u1} α M _inst_1) (b : β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) b) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β M _inst_1) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u2, u1} β M _inst_1) (Finsupp.equivMapDomain.{u3, u2, u1} α β M _inst_1 f l) b) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u1} α M _inst_1) l (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (Equiv.{succ u2, succ u3} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u3} β α) (Equiv.symm.{succ u3, succ u2} α β f) b)) Case conversion may be inaccurate. Consider using '#align finsupp.equiv_map_domain_apply Finsupp.equivMapDomain_applyₓ'. -/ @@ -508,7 +508,7 @@ theorem equivMapDomain_apply (f : α ≃ β) (l : α →₀ M) (b : β) : /- warning: finsupp.equiv_map_domain_symm_apply -> Finsupp.equivMapDomain_symm_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : Equiv.{succ u1, succ u2} α β) (l : Finsupp.{u2, u3} β M _inst_1) (a : α), Eq.{succ u3} M (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) (fun (_x : Finsupp.{u1, u3} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u3} α M _inst_1) (Finsupp.equivMapDomain.{u2, u1, u3} β α M _inst_1 (Equiv.symm.{succ u1, succ u2} α β f) l) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (fun (_x : Finsupp.{u2, u3} β M _inst_1) => β -> M) (Finsupp.hasCoeToFun.{u2, u3} β M _inst_1) l (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} α β) (fun (_x : Equiv.{succ u1, succ u2} α β) => α -> β) (Equiv.hasCoeToFun.{succ u1, succ u2} α β) f a)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : Equiv.{succ u1, succ u2} α β) (l : Finsupp.{u2, u3} β M _inst_1) (a : α), Eq.{succ u3} M (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) (fun (_x : Finsupp.{u1, u3} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u3} α M _inst_1) (Finsupp.equivMapDomain.{u2, u1, u3} β α M _inst_1 (Equiv.symm.{succ u1, succ u2} α β f) l) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (fun (_x : Finsupp.{u2, u3} β M _inst_1) => β -> M) (Finsupp.coeFun.{u2, u3} β M _inst_1) l (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} α β) (fun (_x : Equiv.{succ u1, succ u2} α β) => α -> β) (Equiv.hasCoeToFun.{succ u1, succ u2} α β) f a)) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : Equiv.{succ u3, succ u2} α β) (l : Finsupp.{u2, u1} β M _inst_1) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u1} α M _inst_1) (Finsupp.equivMapDomain.{u2, u3, u1} β α M _inst_1 (Equiv.symm.{succ u3, succ u2} α β f) l) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β M _inst_1) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u2, u1} β M _inst_1) l (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Equiv.{succ u3, succ u2} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u3, succ u2} α β) f a)) Case conversion may be inaccurate. Consider using '#align finsupp.equiv_map_domain_symm_apply Finsupp.equivMapDomain_symm_applyₓ'. -/ @@ -572,7 +572,7 @@ theorem equivMapDomain_single (f : α ≃ β) (a : α) (b : M) : /- warning: finsupp.equiv_map_domain_zero -> Finsupp.equivMapDomain_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] {f : Equiv.{succ u1, succ u2} α β}, Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.equivMapDomain.{u1, u2, u3} α β M _inst_1 f (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) (Finsupp.hasZero.{u1, u3} α M _inst_1))))) (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.hasZero.{u2, u3} β M _inst_1)))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] {f : Equiv.{succ u1, succ u2} α β}, Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.equivMapDomain.{u1, u2, u3} α β M _inst_1 f (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) (Finsupp.zero.{u1, u3} α M _inst_1))))) (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.zero.{u2, u3} β M _inst_1)))) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Equiv.{succ u3, succ u2} α β}, Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} β M _inst_1) (Finsupp.equivMapDomain.{u3, u2, u1} α β M _inst_1 f (OfNat.ofNat.{max u3 u1} (Finsupp.{u3, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u3 u1} (Finsupp.{u3, u1} α M _inst_1) (Finsupp.zero.{u3, u1} α M _inst_1)))) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} β M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} β M _inst_1) (Finsupp.zero.{u2, u1} β M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.equiv_map_domain_zero Finsupp.equivMapDomain_zeroₓ'. -/ @@ -734,7 +734,7 @@ def mapDomain (f : α → β) (v : α →₀ M) : β →₀ M := /- warning: finsupp.map_domain_apply -> Finsupp.mapDomain_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] {f : α -> β}, (Function.Injective.{succ u1, succ u2} α β f) -> (forall (x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (a : α), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => β -> M) (Finsupp.hasCoeToFun.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f x) (f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) x a)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] {f : α -> β}, (Function.Injective.{succ u1, succ u2} α β f) -> (forall (x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (a : α), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => β -> M) (Finsupp.coeFun.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f x) (f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => α -> M) (Finsupp.coeFun.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) x a)) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddCommMonoid.{u1} M] {f : α -> β}, (Function.Injective.{succ u3, succ u2} α β f) -> (forall (x : Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) (f a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u2, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.mapDomain.{u3, u2, u1} α β M _inst_1 f x) (f a)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) x a)) Case conversion may be inaccurate. Consider using '#align finsupp.map_domain_apply Finsupp.mapDomain_applyₓ'. -/ @@ -750,7 +750,7 @@ theorem mapDomain_apply {f : α → β} (hf : Function.Injective f) (x : α → /- warning: finsupp.map_domain_notin_range -> Finsupp.mapDomain_notin_range is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] {f : α -> β} (x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (a : β), (Not (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) a (Set.range.{u2, succ u1} β α f))) -> (Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => β -> M) (Finsupp.hasCoeToFun.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f x) a) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] {f : α -> β} (x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (a : β), (Not (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) a (Set.range.{u2, succ u1} β α f))) -> (Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => β -> M) (Finsupp.coeFun.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f x) a) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))))) but is expected to have type forall {α : Type.{u3}} {β : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] {f : α -> β} (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (a : β), (Not (Membership.mem.{u1, u1} β (Set.{u1} β) (Set.instMembershipSet.{u1} β) a (Set.range.{u1, succ u3} β α f))) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u1, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.mapDomain.{u3, u1, u2} α β M _inst_1 f x) a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) a) _inst_1))))) Case conversion may be inaccurate. Consider using '#align finsupp.map_domain_notin_range Finsupp.mapDomain_notin_rangeₓ'. -/ @@ -802,7 +802,7 @@ theorem mapDomain_single {f : α → β} {a : α} {b : M} : mapDomain f (single /- warning: finsupp.map_domain_zero -> Finsupp.mapDomain_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] {f : α -> β}, Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))))))) (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] {f : α -> β}, Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))))))) (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))))) but is expected to have type forall {α : Type.{u1}} {β : Type.{u3}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] {f : α -> β}, Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.mapDomain.{u1, u3, u2} α β M _inst_1 f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) 0 (Zero.toOfNat0.{max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.zero.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))))) (OfNat.ofNat.{max u3 u2} (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) 0 (Zero.toOfNat0.{max u3 u2} (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.zero.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))))) Case conversion may be inaccurate. Consider using '#align finsupp.map_domain_zero Finsupp.mapDomain_zeroₓ'. -/ @@ -824,7 +824,7 @@ theorem mapDomain_congr {f g : α → β} (h : ∀ x ∈ v.support, f x = g x) : /- warning: finsupp.map_domain_add -> Finsupp.mapDomain_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] {v₁ : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))} {v₂ : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))} {f : α -> β}, Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasAdd.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) v₁ v₂)) (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasAdd.{u2, u3} β M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f v₁) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f v₂)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] {v₁ : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))} {v₂ : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))} {f : α -> β}, Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.add.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) v₁ v₂)) (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.add.{u2, u3} β M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f v₁) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f v₂)) but is expected to have type forall {α : Type.{u1}} {β : Type.{u3}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] {v₁ : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))} {v₂ : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))} {f : α -> β}, Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.mapDomain.{u1, u3, u2} α β M _inst_1 f (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) v₁ v₂)) (HAdd.hAdd.{max u3 u2, max u3 u2, max u3 u2} (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (instHAdd.{max u3 u2} (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u3, u2} β M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.mapDomain.{u1, u3, u2} α β M _inst_1 f v₁) (Finsupp.mapDomain.{u1, u3, u2} α β M _inst_1 f v₂)) Case conversion may be inaccurate. Consider using '#align finsupp.map_domain_add Finsupp.mapDomain_addₓ'. -/ @@ -834,7 +834,7 @@ theorem mapDomain_add {f : α → β} : mapDomain f (v₁ + v₂) = mapDomain f /- warning: finsupp.map_domain_equiv_apply -> Finsupp.mapDomain_equiv_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] {f : Equiv.{succ u1, succ u2} α β} (x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (a : β), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => β -> M) (Finsupp.hasCoeToFun.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} α β) (fun (_x : Equiv.{succ u1, succ u2} α β) => α -> β) (Equiv.hasCoeToFun.{succ u1, succ u2} α β) f) x) a) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) x (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} β α) (fun (_x : Equiv.{succ u2, succ u1} β α) => β -> α) (Equiv.hasCoeToFun.{succ u2, succ u1} β α) (Equiv.symm.{succ u1, succ u2} α β f) a)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] {f : Equiv.{succ u1, succ u2} α β} (x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (a : β), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => β -> M) (Finsupp.coeFun.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} α β) (fun (_x : Equiv.{succ u1, succ u2} α β) => α -> β) (Equiv.hasCoeToFun.{succ u1, succ u2} α β) f) x) a) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => α -> M) (Finsupp.coeFun.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) x (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} β α) (fun (_x : Equiv.{succ u2, succ u1} β α) => β -> α) (Equiv.hasCoeToFun.{succ u2, succ u1} β α) (Equiv.symm.{succ u1, succ u2} α β f) a)) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddCommMonoid.{u1} M] {f : Equiv.{succ u3, succ u2} α β} (x : Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (a : β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u2, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.mapDomain.{u3, u2, u1} α β M _inst_1 (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Equiv.{succ u3, succ u2} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : α) => β) _x) (Equiv.instFunLikeEquiv.{succ u3, succ u2} α β) f) x) a) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) x (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (Equiv.{succ u2, succ u3} β α) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : β) => α) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u3} β α) (Equiv.symm.{succ u3, succ u2} α β f) a)) Case conversion may be inaccurate. Consider using '#align finsupp.map_domain_equiv_apply Finsupp.mapDomain_equiv_applyₓ'. -/ @@ -920,7 +920,7 @@ theorem mapDomain_support [DecidableEq β] {f : α → β} {s : α →₀ M} : /- warning: finsupp.map_domain_apply' -> Finsupp.mapDomain_apply' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (S : Set.{u1} α) {f : α -> β} (x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))), (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Finsupp.support.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) x)) S) -> (Set.InjOn.{u1, u2} α β f S) -> (forall {a : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a S) -> (Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => β -> M) (Finsupp.hasCoeToFun.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f x) (f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) x a))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (S : Set.{u1} α) {f : α -> β} (x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))), (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Finsupp.support.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) x)) S) -> (Set.InjOn.{u1, u2} α β f S) -> (forall {a : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a S) -> (Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => β -> M) (Finsupp.coeFun.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f x) (f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => α -> M) (Finsupp.coeFun.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) x a))) but is expected to have type forall {α : Type.{u3}} {β : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] (S : Set.{u3} α) {f : α -> β} (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))), (HasSubset.Subset.{u3} (Set.{u3} α) (Set.instHasSubsetSet.{u3} α) (Finset.toSet.{u3} α (Finsupp.support.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) x)) S) -> (Set.InjOn.{u3, u1} α β f S) -> (forall {a : α}, (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a S) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) (f a)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u1, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.mapDomain.{u3, u1, u2} α β M _inst_1 f x) (f a)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) x a))) Case conversion may be inaccurate. Consider using '#align finsupp.map_domain_apply' Finsupp.mapDomain_apply'ₓ'. -/ @@ -1087,7 +1087,7 @@ theorem mapDomain_mapRange [AddCommMonoid N] (f : α → β) (v : α →₀ M) ( /- warning: finsupp.sum_update_add -> Finsupp.sum_update_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {ι : Type.{u3}} [_inst_2 : AddCommMonoid.{u1} α] [_inst_3 : AddCommMonoid.{u2} β] (f : Finsupp.{u3, u1} ι α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2)))) (i : ι) (a : α) (g : ι -> α -> β), (forall (i : ι), Eq.{succ u2} β (g i (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2))))))) (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3))))))) -> (forall (j : ι) (a₁ : α) (a₂ : α), Eq.{succ u2} β (g j (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (AddZeroClass.toHasAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2)))) a₁ a₂)) (HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toHasAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3)))) (g j a₁) (g j a₂))) -> (Eq.{succ u2} β (HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toHasAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3)))) (Finsupp.sum.{u3, u1, u2} ι α β (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2))) _inst_3 (Finsupp.update.{u3, u1} ι α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2))) f i a) g) (g i (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2)))) (fun (_x : Finsupp.{u3, u1} ι α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2)))) => ι -> α) (Finsupp.hasCoeToFun.{u3, u1} ι α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2)))) f i))) (HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toHasAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3)))) (Finsupp.sum.{u3, u1, u2} ι α β (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2))) _inst_3 f g) (g i a))) + forall {α : Type.{u1}} {β : Type.{u2}} {ι : Type.{u3}} [_inst_2 : AddCommMonoid.{u1} α] [_inst_3 : AddCommMonoid.{u2} β] (f : Finsupp.{u3, u1} ι α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2)))) (i : ι) (a : α) (g : ι -> α -> β), (forall (i : ι), Eq.{succ u2} β (g i (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2))))))) (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3))))))) -> (forall (j : ι) (a₁ : α) (a₂ : α), Eq.{succ u2} β (g j (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (AddZeroClass.toHasAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2)))) a₁ a₂)) (HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toHasAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3)))) (g j a₁) (g j a₂))) -> (Eq.{succ u2} β (HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toHasAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3)))) (Finsupp.sum.{u3, u1, u2} ι α β (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2))) _inst_3 (Finsupp.update.{u3, u1} ι α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2))) f i a) g) (g i (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2)))) (fun (_x : Finsupp.{u3, u1} ι α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2)))) => ι -> α) (Finsupp.coeFun.{u3, u1} ι α (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2)))) f i))) (HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toHasAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3)))) (Finsupp.sum.{u3, u1, u2} ι α β (AddZeroClass.toHasZero.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α _inst_2))) _inst_3 f g) (g i a))) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {ι : Type.{u1}} [_inst_2 : AddCommMonoid.{u3} α] [_inst_3 : AddCommMonoid.{u2} β] (f : Finsupp.{u1, u3} ι α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α _inst_2))) (i : ι) (a : α) (g : ι -> α -> β), (forall (i : ι), Eq.{succ u2} β (g i (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α _inst_2))))) (OfNat.ofNat.{u2} β 0 (Zero.toOfNat0.{u2} β (AddMonoid.toZero.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3))))) -> (forall (j : ι) (a₁ : α) (a₂ : α), Eq.{succ u2} β (g j (HAdd.hAdd.{u3, u3, u3} α α α (instHAdd.{u3} α (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α _inst_2)))) a₁ a₂)) (HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3)))) (g j a₁) (g j a₂))) -> (Eq.{succ u2} β (HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3)))) (Finsupp.sum.{u1, u3, u2} ι α β (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α _inst_2)) _inst_3 (Finsupp.update.{u1, u3} ι α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α _inst_2)) f i a) g) (g i (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} ι α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α _inst_2))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u1, u3} ι α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α _inst_2))) f i))) (HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β _inst_3)))) (Finsupp.sum.{u1, u3, u2} ι α β (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α _inst_2)) _inst_3 f g) (g i a))) Case conversion may be inaccurate. Consider using '#align finsupp.sum_update_add Finsupp.sum_update_addₓ'. -/ @@ -1181,7 +1181,7 @@ theorem sum_comapDomain [Zero M] [AddCommMonoid N] (f : α → β) (l : β → /- warning: finsupp.eq_zero_of_comap_domain_eq_zero -> Finsupp.eq_zero_of_comapDomain_eq_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (f : α -> β) (l : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (hf : Set.BijOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) l))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) l))), (Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) f l (Set.BijOn.injOn.{u1, u2} α β (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) l))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) l)) f hf)) (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))))))) -> (Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) l (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))))))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (f : α -> β) (l : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (hf : Set.BijOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) l))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) l))), (Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) f l (Set.BijOn.injOn.{u1, u2} α β (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) l))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) l)) f hf)) (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))))))) -> (Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) l (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))))))) but is expected to have type forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (f : α -> β) (l : Finsupp.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (hf : Set.BijOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) l))) (Finset.toSet.{u2} β (Finsupp.support.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) l))), (Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) f l (Set.BijOn.injOn.{u2, u1} α β (Set.preimage.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) l))) (Finset.toSet.{u2} β (Finsupp.support.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) l)) f hf)) (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) 0 (Zero.toOfNat0.{max u1 u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.zero.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))))) -> (Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) l (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) 0 (Zero.toOfNat0.{max u2 u3} (Finsupp.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))))) Case conversion may be inaccurate. Consider using '#align finsupp.eq_zero_of_comap_domain_eq_zero Finsupp.eq_zero_of_comapDomain_eq_zeroₓ'. -/ @@ -1203,7 +1203,7 @@ variable [Zero M] /- warning: finsupp.comap_domain_zero -> Finsupp.comapDomain_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : α -> β) (hif : optParam.{0} (Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M _inst_1 (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.hasZero.{u2, u3} β M _inst_1)))))))) (Set.injOn_empty.{u1, u2} α β f)), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) (Finsupp.comapDomain.{u1, u2, u3} α β M _inst_1 f (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.hasZero.{u2, u3} β M _inst_1)))) hif) (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) (Finsupp.hasZero.{u1, u3} α M _inst_1)))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : α -> β) (hif : optParam.{0} (Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M _inst_1 (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.zero.{u2, u3} β M _inst_1)))))))) (Set.injOn_empty.{u1, u2} α β f)), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) (Finsupp.comapDomain.{u1, u2, u3} α β M _inst_1 f (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.zero.{u2, u3} β M _inst_1)))) hif) (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) (Finsupp.zero.{u1, u3} α M _inst_1)))) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : α -> β) (hif : optParam.{0} (Set.InjOn.{u3, u2} α β f (Set.preimage.{u3, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u1} β M _inst_1 (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} β M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} β M _inst_1) (Finsupp.zero.{u2, u1} β M _inst_1))))))) (Eq.rec.{0, succ u2} (Set.{u2} β) (EmptyCollection.emptyCollection.{u2} (Set.{u2} β) (Set.instEmptyCollectionSet.{u2} β)) (fun (x._@.Mathlib.Data.Finsupp.Basic._hyg.7194 : Set.{u2} β) (h._@.Mathlib.Data.Finsupp.Basic._hyg.7195 : Eq.{succ u2} (Set.{u2} β) (EmptyCollection.emptyCollection.{u2} (Set.{u2} β) (Set.instEmptyCollectionSet.{u2} β)) x._@.Mathlib.Data.Finsupp.Basic._hyg.7194) => Set.InjOn.{u3, u2} α β f (Set.preimage.{u3, u2} α β f x._@.Mathlib.Data.Finsupp.Basic._hyg.7194)) (Set.injOn_empty.{u2, u3} α β f) (Finset.toSet.{u2} β (EmptyCollection.emptyCollection.{u2} (Finset.{u2} β) (Finset.instEmptyCollectionFinset.{u2} β))) (Eq.symm.{succ u2} (Set.{u2} β) (Finset.toSet.{u2} β (EmptyCollection.emptyCollection.{u2} (Finset.{u2} β) (Finset.instEmptyCollectionFinset.{u2} β))) (EmptyCollection.emptyCollection.{u2} (Set.{u2} β) (Set.instEmptyCollectionSet.{u2} β)) (Finset.coe_empty.{u2} β)))), Eq.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} α M _inst_1) (Finsupp.comapDomain.{u3, u2, u1} α β M _inst_1 f (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} β M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} β M _inst_1) (Finsupp.zero.{u2, u1} β M _inst_1))) hif) (OfNat.ofNat.{max u3 u1} (Finsupp.{u3, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u3 u1} (Finsupp.{u3, u1} α M _inst_1) (Finsupp.zero.{u3, u1} α M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.comap_domain_zero Finsupp.comapDomain_zeroₓ'. -/ @@ -1244,7 +1244,7 @@ variable [AddZeroClass M] {f : α → β} /- warning: finsupp.comap_domain_add -> Finsupp.comapDomain_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddZeroClass.{u3} M] {f : α -> β} (v₁ : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (v₂ : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (hv₁ : Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) v₁)))) (hv₂ : Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) v₂)))) (hv₁₂ : Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.hasAdd.{u2, u3} β M _inst_1)) v₁ v₂))))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.hasAdd.{u2, u3} β M _inst_1)) v₁ v₂) hv₁₂) (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.hasAdd.{u1, u3} α M _inst_1)) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f v₁ hv₁) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f v₂ hv₂)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddZeroClass.{u3} M] {f : α -> β} (v₁ : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (v₂ : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (hv₁ : Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) v₁)))) (hv₂ : Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) v₂)))) (hv₁₂ : Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.add.{u2, u3} β M _inst_1)) v₁ v₂))))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.add.{u2, u3} β M _inst_1)) v₁ v₂) hv₁₂) (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.add.{u1, u3} α M _inst_1)) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f v₁ hv₁) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f v₂ hv₂)) but is expected to have type forall {α : Type.{u1}} {β : Type.{u3}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] {f : α -> β} (v₁ : Finsupp.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1)) (v₂ : Finsupp.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1)) (hv₁ : Set.InjOn.{u1, u3} α β f (Set.preimage.{u1, u3} α β f (Finset.toSet.{u3} β (Finsupp.support.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1) v₁)))) (hv₂ : Set.InjOn.{u1, u3} α β f (Set.preimage.{u1, u3} α β f (Finset.toSet.{u3} β (Finsupp.support.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1) v₂)))) (hv₁₂ : Set.InjOn.{u1, u3} α β f (Set.preimage.{u1, u3} α β f (Finset.toSet.{u3} β (Finsupp.support.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1) (HAdd.hAdd.{max u3 u2, max u3 u2, max u3 u2} (Finsupp.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1)) (instHAdd.{max u3 u2} (Finsupp.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.add.{u3, u2} β M _inst_1)) v₁ v₂))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.comapDomain.{u1, u3, u2} α β M (AddZeroClass.toZero.{u2} M _inst_1) f (HAdd.hAdd.{max u3 u2, max u3 u2, max u3 u2} (Finsupp.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1)) (instHAdd.{max u3 u2} (Finsupp.{u3, u2} β M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.add.{u3, u2} β M _inst_1)) v₁ v₂) hv₁₂) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) (Finsupp.comapDomain.{u1, u3, u2} α β M (AddZeroClass.toZero.{u2} M _inst_1) f v₁ hv₁) (Finsupp.comapDomain.{u1, u3, u2} α β M (AddZeroClass.toZero.{u2} M _inst_1) f v₂ hv₂)) Case conversion may be inaccurate. Consider using '#align finsupp.comap_domain_add Finsupp.comapDomain_addₓ'. -/ @@ -1258,7 +1258,7 @@ theorem comapDomain_add (v₁ v₂ : β →₀ M) (hv₁ : Set.InjOn f (f ⁻¹' /- warning: finsupp.comap_domain_add_of_injective -> Finsupp.comapDomain_add_of_injective is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddZeroClass.{u3} M] {f : α -> β} (hf : Function.Injective.{succ u1, succ u2} α β f) (v₁ : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (v₂ : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.hasAdd.{u2, u3} β M _inst_1)) v₁ v₂) (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.hasAdd.{u2, u3} β M _inst_1)) v₁ v₂)))))) (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.hasAdd.{u1, u3} α M _inst_1)) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f v₁ (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) v₁))))) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f v₂ (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) v₂)))))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddZeroClass.{u3} M] {f : α -> β} (hf : Function.Injective.{succ u1, succ u2} α β f) (v₁ : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (v₂ : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.add.{u2, u3} β M _inst_1)) v₁ v₂) (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.add.{u2, u3} β M _inst_1)) v₁ v₂)))))) (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.add.{u1, u3} α M _inst_1)) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f v₁ (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) v₁))))) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f v₂ (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1) v₂)))))) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] {f : α -> β} (hf : Function.Injective.{succ u3, succ u2} α β f) (v₁ : Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (v₂ : Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)), Eq.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.comapDomain.{u3, u2, u1} α β M (AddZeroClass.toZero.{u1} M _inst_1) f (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M _inst_1)) v₁ v₂) (Function.Injective.injOn.{u2, u3} α β f hf (Set.preimage.{u3, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M _inst_1)) v₁ v₂)))))) (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u3, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u3, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u3 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M _inst_1)) (Finsupp.comapDomain.{u3, u2, u1} α β M (AddZeroClass.toZero.{u1} M _inst_1) f v₁ (Function.Injective.injOn.{u2, u3} α β f hf (Set.preimage.{u3, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1) v₁))))) (Finsupp.comapDomain.{u3, u2, u1} α β M (AddZeroClass.toZero.{u1} M _inst_1) f v₂ (Function.Injective.injOn.{u2, u3} α β f hf (Set.preimage.{u3, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1) v₂)))))) Case conversion may be inaccurate. Consider using '#align finsupp.comap_domain_add_of_injective Finsupp.comapDomain_add_of_injectiveₓ'. -/ @@ -1340,7 +1340,7 @@ theorem some_zero [Zero M] : (0 : Option α →₀ M).some = 0 := /- warning: finsupp.some_add -> Finsupp.some_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] (f : Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (g : Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.some.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.hasAdd.{u1, u2} (Option.{u1} α) M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.some.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) f) (Finsupp.some.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) g)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] (f : Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (g : Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.some.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.add.{u1, u2} (Option.{u1} α) M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.some.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) f) (Finsupp.some.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) g)) but is expected to have type forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] (f : Finsupp.{u1, u2} (Option.{u1} α) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (g : Finsupp.{u1, u2} (Option.{u1} α) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.some.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} (Option.{u1} α) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u2} (Option.{u1} α) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u2} (Option.{u1} α) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} (Option.{u1} α) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u2} (Option.{u1} α) M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.some.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) f) (Finsupp.some.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) g)) Case conversion may be inaccurate. Consider using '#align finsupp.some_add Finsupp.some_addₓ'. -/ @@ -1372,7 +1372,7 @@ theorem some_single_some [Zero M] (a : α) (m : M) : /- warning: finsupp.prod_option_index -> Finsupp.prod_option_index is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : CommMonoid.{u3} N] (f : Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (b : (Option.{u1} α) -> M -> N), (forall (o : Option.{u1} α), Eq.{succ u3} N (b o (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_1))))))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_2))))))) -> (forall (o : Option.{u1} α) (m₁ : M) (m₂ : M), Eq.{succ u3} N (b o (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) m₁ m₂)) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_2)))) (b o m₁) (b o m₂))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} (Option.{u1} α) M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) _inst_2 f b) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_2)))) (b (Option.none.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (fun (_x : Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) => (Option.{u1} α) -> M) (Finsupp.hasCoeToFun.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) f (Option.none.{u1} α))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) _inst_2 (Finsupp.some.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) f) (fun (a : α) => b (Option.some.{u1} α a))))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : CommMonoid.{u3} N] (f : Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (b : (Option.{u1} α) -> M -> N), (forall (o : Option.{u1} α), Eq.{succ u3} N (b o (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_1))))))) (OfNat.ofNat.{u3} N 1 (OfNat.mk.{u3} N 1 (One.one.{u3} N (MulOneClass.toHasOne.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_2))))))) -> (forall (o : Option.{u1} α) (m₁ : M) (m₂ : M), Eq.{succ u3} N (b o (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) m₁ m₂)) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_2)))) (b o m₁) (b o m₂))) -> (Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} (Option.{u1} α) M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) _inst_2 f b) (HMul.hMul.{u3, u3, u3} N N N (instHMul.{u3} N (MulOneClass.toHasMul.{u3} N (Monoid.toMulOneClass.{u3} N (CommMonoid.toMonoid.{u3} N _inst_2)))) (b (Option.none.{u1} α) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (fun (_x : Finsupp.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) => (Option.{u1} α) -> M) (Finsupp.coeFun.{u1, u2} (Option.{u1} α) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) f (Option.none.{u1} α))) (Finsupp.prod.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) _inst_2 (Finsupp.some.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) f) (fun (a : α) => b (Option.some.{u1} α a))))) but is expected to have type forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : CommMonoid.{u2} N] (f : Finsupp.{u1, u3} (Option.{u1} α) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (b : (Option.{u1} α) -> M -> N), (forall (o : Option.{u1} α), Eq.{succ u2} N (b o (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) (OfNat.ofNat.{u2} N 1 (One.toOfNat1.{u2} N (Monoid.toOne.{u2} N (CommMonoid.toMonoid.{u2} N _inst_2))))) -> (forall (o : Option.{u1} α) (m₁ : M) (m₂ : M), Eq.{succ u2} N (b o (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) m₁ m₂)) (HMul.hMul.{u2, u2, u2} N N N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_2)))) (b o m₁) (b o m₂))) -> (Eq.{succ u2} N (Finsupp.prod.{u1, u3, u2} (Option.{u1} α) M N (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) _inst_2 f b) (HMul.hMul.{u2, u2, u2} N N N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (CommMonoid.toMonoid.{u2} N _inst_2)))) (b (Option.none.{u1} α) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} (Option.{u1} α) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Option.{u1} α) (fun (_x : Option.{u1} α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u1} α) => M) _x) (Finsupp.funLike.{u1, u3} (Option.{u1} α) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) f (Option.none.{u1} α))) (Finsupp.prod.{u1, u3, u2} α M N (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) _inst_2 (Finsupp.some.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) f) (fun (a : α) => b (Option.some.{u1} α a))))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_option_index Finsupp.prod_option_indexₓ'. -/ @@ -1395,7 +1395,7 @@ theorem prod_option_index [AddCommMonoid M] [CommMonoid N] (f : Option α →₀ /- warning: finsupp.sum_option_index_smul -> Finsupp.sum_option_index_smul is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (f : Finsupp.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (b : (Option.{u1} α) -> M), Eq.{succ u2} M (Finsupp.sum.{u1, u3, u2} (Option.{u1} α) R M (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 f (fun (o : Option.{u1} α) (r : 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_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) r (b o))) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (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_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => (Option.{u1} α) -> R) (Finsupp.hasCoeToFun.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) f (Option.none.{u1} α)) (b (Option.none.{u1} α))) (Finsupp.sum.{u1, u3, u2} α R M (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.some.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) f) (fun (a : α) (r : 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_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) r (b (Option.some.{u1} α a))))) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (f : Finsupp.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (b : (Option.{u1} α) -> M), Eq.{succ u2} M (Finsupp.sum.{u1, u3, u2} (Option.{u1} α) R M (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 f (fun (o : Option.{u1} α) (r : 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_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) r (b o))) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (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_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => (Option.{u1} α) -> R) (Finsupp.coeFun.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) f (Option.none.{u1} α)) (b (Option.none.{u1} α))) (Finsupp.sum.{u1, u3, u2} α R M (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.some.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) f) (fun (a : α) (r : 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_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) r (b (Option.some.{u1} α a))))) but is expected to have type forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (f : Finsupp.{u1, u3} (Option.{u1} α) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (b : (Option.{u1} α) -> M), Eq.{succ u2} M (Finsupp.sum.{u1, u3, u2} (Option.{u1} α) R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) _inst_2 f (fun (o : Option.{u1} α) (r : R) => HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (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_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) r (b o))) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (HSMul.hSMul.{u3, u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u1} α) => R) (Option.none.{u1} α)) M M (instHSMul.{u3, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u1} α) => R) (Option.none.{u1} α)) M (SMulZeroClass.toSMul.{u3, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u1} α) => R) (Option.none.{u1} α)) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u1} α) => R) (Option.none.{u1} α)) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u1} α) => R) (Option.none.{u1} α)) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u1} α) => R) (Option.none.{u1} α)) _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u1} α) => R) (Option.none.{u1} α)) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u1} α) => R) (Option.none.{u1} α)) _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u1} α) => R) (Option.none.{u1} α)) M _inst_1 _inst_2 _inst_3))))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} (Option.{u1} α) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Option.{u1} α) (fun (_x : Option.{u1} α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u1} α) => R) _x) (Finsupp.funLike.{u1, u3} (Option.{u1} α) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) f (Option.none.{u1} α)) (b (Option.none.{u1} α))) (Finsupp.sum.{u1, u3, u2} α R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) _inst_2 (Finsupp.some.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) f) (fun (a : α) (r : R) => HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (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_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) r (b (Option.some.{u1} α a))))) Case conversion may be inaccurate. Consider using '#align finsupp.sum_option_index_smul Finsupp.sum_option_index_smulₓ'. -/ @@ -1442,7 +1442,7 @@ theorem filter_apply (a : α) [D : Decidable (p a)] : f.filterₓ p a = if p a t /- warning: finsupp.filter_eq_indicator -> Finsupp.filter_eq_indicator is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (p : α -> Prop) (f : Finsupp.{u1, u2} α M _inst_1), Eq.{max (succ u1) (succ u2)} (α -> M) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.filter.{u1, u2} α M _inst_1 p f)) (Set.indicator.{u1, u2} α M _inst_1 (setOf.{u1} α (fun (x : α) => p x)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (p : α -> Prop) (f : Finsupp.{u1, u2} α M _inst_1), Eq.{max (succ u1) (succ u2)} (α -> M) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.filter.{u1, u2} α M _inst_1 p f)) (Set.indicator.{u1, u2} α M _inst_1 (setOf.{u1} α (fun (x : α) => p x)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (p : α -> Prop) (f : Finsupp.{u2, u1} α M _inst_1), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.filter.{u2, u1} α M _inst_1 p f)) (Set.indicator.{u2, u1} α M _inst_1 (setOf.{u2} α (fun (x : α) => p x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f)) Case conversion may be inaccurate. Consider using '#align finsupp.filter_eq_indicator Finsupp.filter_eq_indicatorₓ'. -/ @@ -1452,7 +1452,7 @@ theorem filter_eq_indicator : ⇑(f.filterₓ p) = Set.indicator { x | p x } f : /- warning: finsupp.filter_eq_zero_iff -> Finsupp.filter_eq_zero_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (p : α -> Prop) (f : Finsupp.{u1, u2} α M _inst_1), Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.filter.{u1, u2} α M _inst_1 p f) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) (forall (x : α), (p x) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f x) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (p : α -> Prop) (f : Finsupp.{u1, u2} α M _inst_1), Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.filter.{u1, u2} α M _inst_1 p f) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) (forall (x : α), (p x) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f x) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (p : α -> Prop) (f : Finsupp.{u2, u1} α M _inst_1), Iff (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.filter.{u2, u1} α M _inst_1 p f) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) (forall (x : α), (p x) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f x) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.filter_eq_zero_iff Finsupp.filter_eq_zero_iffₓ'. -/ @@ -1463,7 +1463,7 @@ theorem filter_eq_zero_iff : f.filterₓ p = 0 ↔ ∀ x, p x → f x = 0 := by /- warning: finsupp.filter_eq_self_iff -> Finsupp.filter_eq_self_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (p : α -> Prop) (f : Finsupp.{u1, u2} α M _inst_1), Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.filter.{u1, u2} α M _inst_1 p f) f) (forall (x : α), (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f x) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) -> (p x)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (p : α -> Prop) (f : Finsupp.{u1, u2} α M _inst_1), Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.filter.{u1, u2} α M _inst_1 p f) f) (forall (x : α), (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f x) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) -> (p x)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (p : α -> Prop) (f : Finsupp.{u2, u1} α M _inst_1), Iff (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.filter.{u2, u1} α M _inst_1 p f) f) (forall (x : α), (Ne.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f x) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) _inst_1))) -> (p x)) Case conversion may be inaccurate. Consider using '#align finsupp.filter_eq_self_iff Finsupp.filter_eq_self_iffₓ'. -/ @@ -1497,7 +1497,7 @@ theorem support_filter [D : DecidablePred p] : (f.filterₓ p).support = f.suppo /- warning: finsupp.filter_zero -> Finsupp.filter_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (p : α -> Prop), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.filter.{u1, u2} α M _inst_1 p (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (p : α -> Prop), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.filter.{u1, u2} α M _inst_1 p (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (p : α -> Prop), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.filter.{u2, u1} α M _inst_1 p (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.filter_zero Finsupp.filter_zeroₓ'. -/ @@ -1518,7 +1518,7 @@ theorem filter_single_of_pos {a : α} {b : M} (h : p a) : (single a b).filterₓ /- warning: finsupp.filter_single_of_neg -> Finsupp.filter_single_of_neg is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (p : α -> Prop) {a : α} {b : M}, (Not (p a)) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.filter.{u1, u2} α M _inst_1 p (Finsupp.single.{u1, u2} α M _inst_1 a b)) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (p : α -> Prop) {a : α} {b : M}, (Not (p a)) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.filter.{u1, u2} α M _inst_1 p (Finsupp.single.{u1, u2} α M _inst_1 a b)) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (p : α -> Prop) {a : α} {b : M}, (Not (p a)) -> (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.filter.{u2, u1} α M _inst_1 p (Finsupp.single.{u2, u1} α M _inst_1 a b)) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.filter_single_of_neg Finsupp.filter_single_of_negₓ'. -/ @@ -1530,7 +1530,7 @@ theorem filter_single_of_neg {a : α} {b : M} (h : ¬p a) : (single a b).filter /- warning: finsupp.prod_filter_index -> Finsupp.prod_filter_index is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : Zero.{u2} M] (p : α -> Prop) (f : Finsupp.{u1, u2} α M _inst_1) [_inst_2 : CommMonoid.{u3} N] (g : α -> M -> N), Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_1 _inst_2 (Finsupp.filter.{u1, u2} α M _inst_1 p f) g) (Finset.prod.{u3, u1} N α _inst_2 (Finsupp.support.{u1, u2} α M _inst_1 (Finsupp.filter.{u1, u2} α M _inst_1 p f)) (fun (x : α) => g x (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f x))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : Zero.{u2} M] (p : α -> Prop) (f : Finsupp.{u1, u2} α M _inst_1) [_inst_2 : CommMonoid.{u3} N] (g : α -> M -> N), Eq.{succ u3} N (Finsupp.prod.{u1, u2, u3} α M N _inst_1 _inst_2 (Finsupp.filter.{u1, u2} α M _inst_1 p f) g) (Finset.prod.{u3, u1} N α _inst_2 (Finsupp.support.{u1, u2} α M _inst_1 (Finsupp.filter.{u1, u2} α M _inst_1 p f)) (fun (x : α) => g x (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f x))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} {N : Type.{u3}} [_inst_1 : Zero.{u1} M] (p : α -> Prop) (f : Finsupp.{u2, u1} α M _inst_1) [_inst_2 : CommMonoid.{u3} N] (g : α -> M -> N), Eq.{succ u3} N (Finsupp.prod.{u2, u1, u3} α M N _inst_1 _inst_2 (Finsupp.filter.{u2, u1} α M _inst_1 p f) g) (Finset.prod.{u3, u2} N α _inst_2 (Finsupp.support.{u2, u1} α M _inst_1 (Finsupp.filter.{u2, u1} α M _inst_1 p f)) (fun (x : α) => g x (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f x))) Case conversion may be inaccurate. Consider using '#align finsupp.prod_filter_index Finsupp.prod_filter_indexₓ'. -/ @@ -1575,7 +1575,7 @@ end Zero /- warning: finsupp.filter_pos_add_filter_neg -> Finsupp.filter_pos_add_filter_neg is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (p : α -> Prop), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p f) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) (fun (a : α) => Not (p a)) f)) f + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (p : α -> Prop), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p f) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) (fun (a : α) => Not (p a)) f)) f but is expected to have type forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (p : α -> Prop), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1) p f) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1) (fun (a : α) => Not (p a)) f)) f Case conversion may be inaccurate. Consider using '#align finsupp.filter_pos_add_filter_neg Finsupp.filter_pos_add_filter_negₓ'. -/ @@ -1603,7 +1603,7 @@ def frange (f : α →₀ M) : Finset M := /- warning: finsupp.mem_frange -> Finsupp.mem_frange is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {y : M}, Iff (Membership.Mem.{u2, u2} M (Finset.{u2} M) (Finset.hasMem.{u2} M) y (Finsupp.frange.{u1, u2} α M _inst_1 f)) (And (Ne.{succ u2} M y (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) (Exists.{succ u1} α (fun (x : α) => Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f x) y))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {y : M}, Iff (Membership.Mem.{u2, u2} M (Finset.{u2} M) (Finset.hasMem.{u2} M) y (Finsupp.frange.{u1, u2} α M _inst_1 f)) (And (Ne.{succ u2} M y (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) (Exists.{succ u1} α (fun (x : α) => Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f x) y))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {y : M}, Iff (Membership.mem.{u1, u1} M (Finset.{u1} M) (Finset.instMembershipFinset.{u1} M) y (Finsupp.frange.{u2, u1} α M _inst_1 f)) (And (Ne.{succ u1} M y (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_1))) (Exists.{succ u2} α (fun (x : α) => Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f x) y))) Case conversion may be inaccurate. Consider using '#align finsupp.mem_frange Finsupp.mem_frangeₓ'. -/ @@ -1672,7 +1672,7 @@ theorem support_subtypeDomain [D : DecidablePred p] {f : α →₀ M} : /- warning: finsupp.subtype_domain_apply -> Finsupp.subtypeDomain_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {p : α -> Prop} {a : Subtype.{succ u1} α p} {v : Finsupp.{u1, u2} α M _inst_1}, Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (fun (_x : Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) => (Subtype.{succ u1} α p) -> M) (Finsupp.hasCoeToFun.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.subtypeDomain.{u1, u2} α M _inst_1 p v) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) v (Subtype.val.{succ u1} α p a)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {p : α -> Prop} {a : Subtype.{succ u1} α p} {v : Finsupp.{u1, u2} α M _inst_1}, Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (fun (_x : Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) => (Subtype.{succ u1} α p) -> M) (Finsupp.coeFun.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.subtypeDomain.{u1, u2} α M _inst_1 p v) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) v (Subtype.val.{succ u1} α p a)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {p : α -> Prop} {a : Subtype.{succ u2} α p} {v : Finsupp.{u2, u1} α M _inst_1}, Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Subtype.{succ u2} α p) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M _inst_1) (Subtype.{succ u2} α p) (fun (_x : Subtype.{succ u2} α p) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Subtype.{succ u2} α p) => M) _x) (Finsupp.funLike.{u2, u1} (Subtype.{succ u2} α p) M _inst_1) (Finsupp.subtypeDomain.{u2, u1} α M _inst_1 p v) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) v (Subtype.val.{succ u2} α p a)) Case conversion may be inaccurate. Consider using '#align finsupp.subtype_domain_apply Finsupp.subtypeDomain_applyₓ'. -/ @@ -1683,7 +1683,7 @@ theorem subtypeDomain_apply {a : Subtype p} {v : α →₀ M} : (subtypeDomain p /- warning: finsupp.subtype_domain_zero -> Finsupp.subtypeDomain_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {p : α -> Prop}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.subtypeDomain.{u1, u2} α M _inst_1 p (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.hasZero.{u1, u2} (Subtype.{succ u1} α p) M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {p : α -> Prop}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.subtypeDomain.{u1, u2} α M _inst_1 p (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.zero.{u1, u2} (Subtype.{succ u1} α p) M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {p : α -> Prop}, Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M _inst_1) (Finsupp.subtypeDomain.{u2, u1} α M _inst_1 p (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M _inst_1) (Finsupp.zero.{u2, u1} (Subtype.{succ u2} α p) M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.subtype_domain_zero Finsupp.subtypeDomain_zeroₓ'. -/ @@ -1694,7 +1694,7 @@ theorem subtypeDomain_zero : subtypeDomain p (0 : α →₀ M) = 0 := /- warning: finsupp.subtype_domain_eq_zero_iff' -> Finsupp.subtypeDomain_eq_zero_iff' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {p : α -> Prop} {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.subtypeDomain.{u1, u2} α M _inst_1 p f) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.hasZero.{u1, u2} (Subtype.{succ u1} α p) M _inst_1))))) (forall (x : α), (p x) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f x) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {p : α -> Prop} {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.subtypeDomain.{u1, u2} α M _inst_1 p f) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.zero.{u1, u2} (Subtype.{succ u1} α p) M _inst_1))))) (forall (x : α), (p x) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f x) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {p : α -> Prop} {f : Finsupp.{u2, u1} α M _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M _inst_1) (Finsupp.subtypeDomain.{u2, u1} α M _inst_1 p f) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M _inst_1) (Finsupp.zero.{u2, u1} (Subtype.{succ u2} α p) M _inst_1)))) (forall (x : α), (p x) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f x) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.subtype_domain_eq_zero_iff' Finsupp.subtypeDomain_eq_zero_iff'ₓ'. -/ @@ -1705,7 +1705,7 @@ theorem subtypeDomain_eq_zero_iff' {f : α →₀ M} : f.subtypeDomain p = 0 ↔ /- warning: finsupp.subtype_domain_eq_zero_iff -> Finsupp.subtypeDomain_eq_zero_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {p : α -> Prop} {f : Finsupp.{u1, u2} α M _inst_1}, (forall (x : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x (Finsupp.support.{u1, u2} α M _inst_1 f)) -> (p x)) -> (Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.subtypeDomain.{u1, u2} α M _inst_1 p f) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.hasZero.{u1, u2} (Subtype.{succ u1} α p) M _inst_1))))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {p : α -> Prop} {f : Finsupp.{u1, u2} α M _inst_1}, (forall (x : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x (Finsupp.support.{u1, u2} α M _inst_1 f)) -> (p x)) -> (Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.subtypeDomain.{u1, u2} α M _inst_1 p f) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M _inst_1) (Finsupp.zero.{u1, u2} (Subtype.{succ u1} α p) M _inst_1))))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {p : α -> Prop} {f : Finsupp.{u2, u1} α M _inst_1}, (forall (x : α), (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) x (Finsupp.support.{u2, u1} α M _inst_1 f)) -> (p x)) -> (Iff (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M _inst_1) (Finsupp.subtypeDomain.{u2, u1} α M _inst_1 p f) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M _inst_1) (Finsupp.zero.{u2, u1} (Subtype.{succ u2} α p) M _inst_1)))) (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1))))) Case conversion may be inaccurate. Consider using '#align finsupp.subtype_domain_eq_zero_iff Finsupp.subtypeDomain_eq_zero_iffₓ'. -/ @@ -1740,7 +1740,7 @@ variable [AddZeroClass M] {p : α → Prop} {v v' : α →₀ M} /- warning: finsupp.subtype_domain_add -> Finsupp.subtypeDomain_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] {p : α -> Prop} {v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)} {v' : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.subtypeDomain.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) v v')) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} (Subtype.{succ u1} α p) M _inst_1)) (Finsupp.subtypeDomain.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p v) (Finsupp.subtypeDomain.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p v')) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] {p : α -> Prop} {v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)} {v' : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.subtypeDomain.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) v v')) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} (Subtype.{succ u1} α p) M _inst_1)) (Finsupp.subtypeDomain.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p v) (Finsupp.subtypeDomain.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p v')) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] {p : α -> Prop} {v : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)} {v' : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)}, Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.subtypeDomain.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) p (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) v v')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} (Subtype.{succ u2} α p) M _inst_1)) (Finsupp.subtypeDomain.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) p v) (Finsupp.subtypeDomain.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) p v')) Case conversion may be inaccurate. Consider using '#align finsupp.subtype_domain_add Finsupp.subtypeDomain_addₓ'. -/ @@ -1780,7 +1780,7 @@ def filterAddHom (p : α → Prop) : (α →₀ M) →+ α →₀ M /- warning: finsupp.filter_add -> Finsupp.filter_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] {p : α -> Prop} {v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)} {v' : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) v v')) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p v) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p v')) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] {p : α -> Prop} {v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)} {v' : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) v v')) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p v) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) p v')) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] {p : α -> Prop} {v : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)} {v' : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)}, Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.filter.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) p (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) v v')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) (Finsupp.filter.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) p v) (Finsupp.filter.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) p v')) Case conversion may be inaccurate. Consider using '#align finsupp.filter_add Finsupp.filter_addₓ'. -/ @@ -1830,7 +1830,7 @@ theorem filter_sum (s : Finset ι) (f : ι → α →₀ M) : /- warning: finsupp.filter_eq_sum -> Finsupp.filter_eq_sum is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] (p : α -> Prop) [D : DecidablePred.{succ u1} α p] (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) p f) (Finset.sum.{max u1 u2, u1} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) α (Finsupp.addCommMonoid.{u1, u2} α M _inst_1) (Finset.filter.{u1} α p (fun (a : α) => D a) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) f)) (fun (i : α) => Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) i (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) f i))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] (p : α -> Prop) [D : DecidablePred.{succ u1} α p] (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) p f) (Finset.sum.{max u1 u2, u1} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) α (Finsupp.addCommMonoid.{u1, u2} α M _inst_1) (Finset.filter.{u1} α p (fun (a : α) => D a) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) f)) (fun (i : α) => Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) i (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) f i))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddCommMonoid.{u1} M] (p : α -> Prop) [D : DecidablePred.{succ u2} α p] (f : Finsupp.{u2, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.filter.{u2, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1)) p f) (Finset.sum.{max u1 u2, u2} (Finsupp.{u2, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) α (Finsupp.addCommMonoid.{u2, u1} α M _inst_1) (Finset.filter.{u2} α p (fun (a : α) => D a) (Finsupp.support.{u2, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1)) f)) (fun (i : α) => Finsupp.single.{u2, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1)) i (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) f i))) Case conversion may be inaccurate. Consider using '#align finsupp.filter_eq_sum Finsupp.filter_eq_sumₓ'. -/ @@ -1849,9 +1849,9 @@ variable [AddGroup G] {p : α → Prop} {v v' : α →₀ G} /- warning: finsupp.subtype_domain_neg -> Finsupp.subtypeDomain_neg is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] {p : α -> Prop} {v : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.subtypeDomain.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasNeg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) v)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasNeg.{u1, u2} (Subtype.{succ u1} α p) G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.subtypeDomain.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p v)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] {p : α -> Prop} {v : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.subtypeDomain.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.neg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) v)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.neg.{u1, u2} (Subtype.{succ u1} α p) G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.subtypeDomain.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p v)) but is expected to have type - forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] {p : α -> Prop} {v : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))}, Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.subtypeDomain.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instNegFinsuppToZero.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) v)) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instNegFinsuppToZero.{u2, u1} (Subtype.{succ u2} α p) G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.subtypeDomain.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p v)) + forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] {p : α -> Prop} {v : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))}, Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.subtypeDomain.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.neg.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) v)) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.neg.{u2, u1} (Subtype.{succ u2} α p) G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.subtypeDomain.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p v)) Case conversion may be inaccurate. Consider using '#align finsupp.subtype_domain_neg Finsupp.subtypeDomain_negₓ'. -/ @[simp] theorem subtypeDomain_neg : (-v).subtypeDomain p = -v.subtypeDomain p := @@ -1860,9 +1860,9 @@ theorem subtypeDomain_neg : (-v).subtypeDomain p = -v.subtypeDomain p := /- warning: finsupp.subtype_domain_sub -> Finsupp.subtypeDomain_sub is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] {p : α -> Prop} {v : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))} {v' : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.subtypeDomain.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) v v')) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} (Subtype.{succ u1} α p) G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.subtypeDomain.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p v) (Finsupp.subtypeDomain.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p v')) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] {p : α -> Prop} {v : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))} {v' : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.subtypeDomain.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) v v')) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} (Subtype.{succ u1} α p) G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} (Subtype.{succ u1} α p) G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.subtypeDomain.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p v) (Finsupp.subtypeDomain.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p v')) but is expected to have type - forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] {p : α -> Prop} {v : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))} {v' : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))}, Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.subtypeDomain.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) v v')) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} (Subtype.{succ u2} α p) G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.subtypeDomain.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p v) (Finsupp.subtypeDomain.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p v')) + forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] {p : α -> Prop} {v : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))} {v' : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))}, Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.subtypeDomain.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.sub.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) v v')) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} (Subtype.{succ u2} α p) G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.sub.{u2, u1} (Subtype.{succ u2} α p) G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.subtypeDomain.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p v) (Finsupp.subtypeDomain.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p v')) Case conversion may be inaccurate. Consider using '#align finsupp.subtype_domain_sub Finsupp.subtypeDomain_subₓ'. -/ @[simp] theorem subtypeDomain_sub : (v - v').subtypeDomain p = v.subtypeDomain p - v'.subtypeDomain p := @@ -1871,9 +1871,9 @@ theorem subtypeDomain_sub : (v - v').subtypeDomain p = v.subtypeDomain p - v'.su /- warning: finsupp.single_neg -> Finsupp.single_neg is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (a : α) (b : G), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (Neg.neg.{u2} G (SubNegMonoid.toHasNeg.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)) b)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasNeg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a b)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (a : α) (b : G), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (Neg.neg.{u2} G (SubNegMonoid.toHasNeg.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)) b)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.neg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a b)) but is expected to have type - forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (a : α) (b : G), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.single.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a (Neg.neg.{u1} G (NegZeroClass.toNeg.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) b)) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instNegFinsuppToZero.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.single.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a b)) + forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (a : α) (b : G), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.single.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a (Neg.neg.{u1} G (NegZeroClass.toNeg.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) b)) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.neg.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.single.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a b)) Case conversion may be inaccurate. Consider using '#align finsupp.single_neg Finsupp.single_negₓ'. -/ @[simp] theorem single_neg (a : α) (b : G) : single a (-b) = -single a b := @@ -1882,9 +1882,9 @@ theorem single_neg (a : α) (b : G) : single a (-b) = -single a b := /- warning: finsupp.single_sub -> Finsupp.single_sub is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (a : α) (b₁ : G) (b₂ : G), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (HSub.hSub.{u2, u2, u2} G G G (instHSub.{u2} G (SubNegMonoid.toHasSub.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))) b₁ b₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a b₁) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a b₂)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (a : α) (b₁ : G) (b₂ : G), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (HSub.hSub.{u2, u2, u2} G G G (instHSub.{u2} G (SubNegMonoid.toHasSub.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))) b₁ b₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a b₁) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a b₂)) but is expected to have type - forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (a : α) (b₁ : G) (b₂ : G), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.single.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a (HSub.hSub.{u1, u1, u1} G G G (instHSub.{u1} G (SubNegMonoid.toSub.{u1} G (AddGroup.toSubNegMonoid.{u1} G _inst_1))) b₁ b₂)) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.single.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a b₁) (Finsupp.single.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a b₂)) + forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (a : α) (b₁ : G) (b₂ : G), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.single.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a (HSub.hSub.{u1, u1, u1} G G G (instHSub.{u1} G (SubNegMonoid.toSub.{u1} G (AddGroup.toSubNegMonoid.{u1} G _inst_1))) b₁ b₂)) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.sub.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.single.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a b₁) (Finsupp.single.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a b₂)) Case conversion may be inaccurate. Consider using '#align finsupp.single_sub Finsupp.single_subₓ'. -/ @[simp] theorem single_sub (a : α) (b₁ b₂ : G) : single a (b₁ - b₂) = single a b₁ - single a b₂ := @@ -1893,9 +1893,9 @@ theorem single_sub (a : α) (b₁ b₂ : G) : single a (b₁ - b₂) = single a /- warning: finsupp.erase_neg -> Finsupp.erase_neg is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (a : α) (f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasNeg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasNeg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a f)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (a : α) (f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.neg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.neg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a f)) but is expected to have type - forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (a : α) (f : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.erase.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instNegFinsuppToZero.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) f)) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instNegFinsuppToZero.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.erase.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a f)) + forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (a : α) (f : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.erase.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.neg.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) f)) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.neg.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.erase.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a f)) Case conversion may be inaccurate. Consider using '#align finsupp.erase_neg Finsupp.erase_negₓ'. -/ @[simp] theorem erase_neg (a : α) (f : α →₀ G) : erase a (-f) = -erase a f := @@ -1904,9 +1904,9 @@ theorem erase_neg (a : α) (f : α →₀ G) : erase a (-f) = -erase a f := /- warning: finsupp.erase_sub -> Finsupp.erase_sub is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (a : α) (f₁ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (f₂ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f₁ f₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a f₁) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a f₂)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (a : α) (f₁ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (f₂ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f₁ f₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a f₁) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a f₂)) but is expected to have type - forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (a : α) (f₁ : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (f₂ : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.erase.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) f₁ f₂)) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.erase.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a f₁) (Finsupp.erase.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a f₂)) + forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (a : α) (f₁ : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (f₂ : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.erase.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.sub.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) f₁ f₂)) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.sub.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.erase.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a f₁) (Finsupp.erase.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) a f₂)) Case conversion may be inaccurate. Consider using '#align finsupp.erase_sub Finsupp.erase_subₓ'. -/ @[simp] theorem erase_sub (a : α) (f₁ f₂ : α →₀ G) : erase a (f₁ - f₂) = erase a f₁ - erase a f₂ := @@ -1915,9 +1915,9 @@ theorem erase_sub (a : α) (f₁ f₂ : α →₀ G) : erase a (f₁ - f₂) = e /- warning: finsupp.filter_neg -> Finsupp.filter_neg is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (p : α -> Prop) (f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.filter.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasNeg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasNeg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.filter.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p f)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (p : α -> Prop) (f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.filter.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.neg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.neg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.filter.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p f)) but is expected to have type - forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (p : α -> Prop) (f : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.filter.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instNegFinsuppToZero.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) f)) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instNegFinsuppToZero.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.filter.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p f)) + forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (p : α -> Prop) (f : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.filter.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.neg.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) f)) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.neg.{u2, u1} α G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.filter.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p f)) Case conversion may be inaccurate. Consider using '#align finsupp.filter_neg Finsupp.filter_negₓ'. -/ @[simp] theorem filter_neg (p : α → Prop) (f : α →₀ G) : filter p (-f) = -filter p f := @@ -1926,9 +1926,9 @@ theorem filter_neg (p : α → Prop) (f : α →₀ G) : filter p (-f) = -filter /- warning: finsupp.filter_sub -> Finsupp.filter_sub is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (p : α -> Prop) (f₁ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (f₂ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.filter.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f₁ f₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.filter.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p f₁) (Finsupp.filter.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p f₂)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (p : α -> Prop) (f₁ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (f₂ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.filter.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f₁ f₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Finsupp.filter.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p f₁) (Finsupp.filter.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) p f₂)) but is expected to have type - forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (p : α -> Prop) (f₁ : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (f₂ : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.filter.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) f₁ f₂)) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.filter.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p f₁) (Finsupp.filter.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p f₂)) + forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : AddGroup.{u1} G] (p : α -> Prop) (f₁ : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (f₂ : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.filter.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.sub.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) f₁ f₂)) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1))))) (Finsupp.sub.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) (Finsupp.filter.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p f₁) (Finsupp.filter.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_1)))) p f₂)) Case conversion may be inaccurate. Consider using '#align finsupp.filter_sub Finsupp.filter_subₓ'. -/ @[simp] theorem filter_sub (p : α → Prop) (f₁ f₂ : α →₀ G) : @@ -1981,7 +1981,7 @@ variable [AddCommMonoid M] [AddCommMonoid N] /- warning: finsupp.curry -> Finsupp.curry is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], (Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) -> (Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], (Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) -> (Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) but is expected to have type forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], (Finsupp.{max u2 u1, u3} (Prod.{u1, u2} α β) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) -> (Finsupp.{u1, max u3 u2} α (Finsupp.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.curry Finsupp.curryₓ'. -/ @@ -1994,7 +1994,7 @@ protected def curry (f : α × β →₀ M) : α →₀ β →₀ M := /- warning: finsupp.curry_apply -> Finsupp.curry_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (f : Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (x : α) (y : β), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => β -> M) (Finsupp.hasCoeToFun.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) (fun (_x : Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) => α -> (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) (Finsupp.hasCoeToFun.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) (Finsupp.curry.{u1, u2, u3} α β M _inst_1 f) x) y) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => (Prod.{u1, u2} α β) -> M) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) f (Prod.mk.{u1, u2} α β x y)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (f : Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (x : α) (y : β), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => β -> M) (Finsupp.coeFun.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) (fun (_x : Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) => α -> (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) (Finsupp.coeFun.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) (Finsupp.curry.{u1, u2, u3} α β M _inst_1 f) x) y) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (fun (_x : Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => (Prod.{u1, u2} α β) -> M) (Finsupp.coeFun.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) f (Prod.mk.{u1, u2} α β x y)) but is expected to have type forall {α : Type.{u2}} {β : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommMonoid.{u1} M] (f : Finsupp.{max u3 u2, u1} (Prod.{u2, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (x : α) (y : β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) y) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (FunLike.coe.{max (succ u2) (succ (max u3 u1)), succ u2, succ (max u3 u1)} (Finsupp.{u2, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1)))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) _x) (Finsupp.funLike.{u2, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1)))) (Finsupp.curry.{u2, u3, u1} α β M _inst_1 f) x) y) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (Finsupp.{max u2 u3, u1} (Prod.{u2, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Prod.{u2, u3} α β) (fun (_x : Prod.{u2, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u2, u3} α β) => M) _x) (Finsupp.funLike.{max u2 u3, u1} (Prod.{u2, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) f (Prod.mk.{u2, u3} α β x y)) Case conversion may be inaccurate. Consider using '#align finsupp.curry_apply Finsupp.curry_applyₓ'. -/ @@ -2015,7 +2015,7 @@ theorem curry_apply (f : α × β →₀ M) (x : α) (y : β) : f.curry x y = f /- warning: finsupp.sum_curry_index -> Finsupp.sum_curry_index is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u4} N] (f : Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (g : α -> β -> M -> N), (forall (a : α) (b : β), Eq.{succ u4} N (g a b (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))))) (OfNat.ofNat.{u4} N 0 (OfNat.mk.{u4} N 0 (Zero.zero.{u4} N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))))))) -> (forall (a : α) (b : β) (c₀ : M) (c₁ : M), Eq.{succ u4} N (g a b (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) c₀ c₁)) (HAdd.hAdd.{u4, u4, u4} N N N (instHAdd.{u4} N (AddZeroClass.toHasAdd.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)))) (g a b c₀) (g a b c₁))) -> (Eq.{succ u4} N (Finsupp.sum.{u1, max u2 u3, u4} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) N (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) _inst_2 (Finsupp.curry.{u1, u2, u3} α β M _inst_1 f) (fun (a : α) (f : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => Finsupp.sum.{u2, u3, u4} β M N (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) _inst_2 f (g a))) (Finsupp.sum.{max u1 u2, u3, u4} (Prod.{u1, u2} α β) M N (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) _inst_2 f (fun (p : Prod.{u1, u2} α β) (c : M) => g (Prod.fst.{u1, u2} α β p) (Prod.snd.{u1, u2} α β p) c))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : AddCommMonoid.{u4} N] (f : Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (g : α -> β -> M -> N), (forall (a : α) (b : β), Eq.{succ u4} N (g a b (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))))) (OfNat.ofNat.{u4} N 0 (OfNat.mk.{u4} N 0 (Zero.zero.{u4} N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))))))) -> (forall (a : α) (b : β) (c₀ : M) (c₁ : M), Eq.{succ u4} N (g a b (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) c₀ c₁)) (HAdd.hAdd.{u4, u4, u4} N N N (instHAdd.{u4} N (AddZeroClass.toHasAdd.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)))) (g a b c₀) (g a b c₁))) -> (Eq.{succ u4} N (Finsupp.sum.{u1, max u2 u3, u4} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) N (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) _inst_2 (Finsupp.curry.{u1, u2, u3} α β M _inst_1 f) (fun (a : α) (f : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) => Finsupp.sum.{u2, u3, u4} β M N (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) _inst_2 f (g a))) (Finsupp.sum.{max u1 u2, u3, u4} (Prod.{u1, u2} α β) M N (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) _inst_2 f (fun (p : Prod.{u1, u2} α β) (c : M) => g (Prod.fst.{u1, u2} α β p) (Prod.snd.{u1, u2} α β p) c))) but is expected to have type forall {α : Type.{u3}} {β : Type.{u4}} {M : Type.{u2}} {N : Type.{u1}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u1} N] (f : Finsupp.{max u4 u3, u2} (Prod.{u3, u4} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (g : α -> β -> M -> N), (forall (a : α) (b : β), Eq.{succ u1} N (g a b (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))))) (OfNat.ofNat.{u1} N 0 (Zero.toOfNat0.{u1} N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_2))))) -> (forall (a : α) (b : β) (c₀ : M) (c₁ : M), Eq.{succ u1} N (g a b (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) c₀ c₁)) (HAdd.hAdd.{u1, u1, u1} N N N (instHAdd.{u1} N (AddZeroClass.toAdd.{u1} N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_2)))) (g a b c₀) (g a b c₁))) -> (Eq.{succ u1} N (Finsupp.sum.{u3, max u4 u2, u1} α (Finsupp.{u4, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) N (Finsupp.zero.{u4, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) _inst_2 (Finsupp.curry.{u3, u4, u2} α β M _inst_1 f) (fun (a : α) (f : Finsupp.{u4, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) => Finsupp.sum.{u4, u2, u1} β M N (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) _inst_2 f (g a))) (Finsupp.sum.{max u3 u4, u2, u1} (Prod.{u3, u4} α β) M N (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) _inst_2 f (fun (p : Prod.{u3, u4} α β) (c : M) => g (Prod.fst.{u3, u4} α β p) (Prod.snd.{u3, u4} α β p) c))) Case conversion may be inaccurate. Consider using '#align finsupp.sum_curry_index Finsupp.sum_curry_indexₓ'. -/ @@ -2037,7 +2037,7 @@ theorem sum_curry_index (f : α × β →₀ M) (g : α → β → M → N) (hg /- warning: finsupp.uncurry -> Finsupp.uncurry is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], (Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) -> (Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], (Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) -> (Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) but is expected to have type forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], (Finsupp.{u1, max u3 u2} α (Finsupp.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) -> (Finsupp.{max u2 u1, u3} (Prod.{u1, u2} α β) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.uncurry Finsupp.uncurryₓ'. -/ @@ -2050,7 +2050,7 @@ protected def uncurry (f : α →₀ β →₀ M) : α × β →₀ M := /- warning: finsupp.finsupp_prod_equiv -> Finsupp.finsuppProdEquiv is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], Equiv.{max (succ (max u1 u2)) (succ u3), max (succ u1) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], Equiv.{max (succ (max u1 u2)) (succ u3), max (succ u1) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) but is expected to have type forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], Equiv.{max (succ u3) (succ (max u2 u1)), max (succ (max u3 u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Prod.{u1, u2} α β) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.{u1, max u3 u2} α (Finsupp.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.finsupp_prod_equiv Finsupp.finsuppProdEquivₓ'. -/ @@ -2075,7 +2075,7 @@ def finsuppProdEquiv : (α × β →₀ M) ≃ (α →₀ β →₀ M) /- warning: finsupp.filter_curry -> Finsupp.filter_curry is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (f : Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (p : α -> Prop), Eq.{max (succ u1) (succ (max u2 u3))} (Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) (Finsupp.curry.{u1, u2, u3} α β M _inst_1 (Finsupp.filter.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (fun (a : Prod.{u1, u2} α β) => p (Prod.fst.{u1, u2} α β a)) f)) (Finsupp.filter.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) p (Finsupp.curry.{u1, u2, u3} α β M _inst_1 f)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (f : Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (p : α -> Prop), Eq.{max (succ u1) (succ (max u2 u3))} (Finsupp.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))))) (Finsupp.curry.{u1, u2, u3} α β M _inst_1 (Finsupp.filter.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (fun (a : Prod.{u1, u2} α β) => p (Prod.fst.{u1, u2} α β a)) f)) (Finsupp.filter.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) p (Finsupp.curry.{u1, u2, u3} α β M _inst_1 f)) but is expected to have type forall {α : Type.{u2}} {β : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommMonoid.{u1} M] (f : Finsupp.{max u3 u2, u1} (Prod.{u2, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (p : α -> Prop), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (Finsupp.{u2, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1)))) (Finsupp.curry.{u2, u3, u1} α β M _inst_1 (Finsupp.filter.{max u2 u3, u1} (Prod.{u2, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1)) (fun (a : Prod.{u2, u3} α β) => p (Prod.fst.{u2, u3} α β a)) f)) (Finsupp.filter.{u2, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) p (Finsupp.curry.{u2, u3, u1} α β M _inst_1 f)) Case conversion may be inaccurate. Consider using '#align finsupp.filter_curry Finsupp.filter_curryₓ'. -/ @@ -2094,7 +2094,7 @@ theorem filter_curry (f : α × β →₀ M) (p : α → Prop) : /- warning: finsupp.support_curry -> Finsupp.support_curry is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_3 : DecidableEq.{succ u1} α] (f : Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))), HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.curry.{u1, u2, u3} α β M _inst_1 f)) (Finset.image.{max u1 u2, u1} (Prod.{u1, u2} α β) α (fun (a : α) (b : α) => _inst_3 a b) (Prod.fst.{u1, u2} α β) (Finsupp.support.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) f)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] [_inst_3 : DecidableEq.{succ u1} α] (f : Finsupp.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))), HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, max u2 u3} α (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.curry.{u1, u2, u3} α β M _inst_1 f)) (Finset.image.{max u1 u2, u1} (Prod.{u1, u2} α β) α (fun (a : α) (b : α) => _inst_3 a b) (Prod.fst.{u1, u2} α β) (Finsupp.support.{max u1 u2, u3} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) f)) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_3 : DecidableEq.{succ u3} α] (f : Finsupp.{max u2 u3, u1} (Prod.{u3, u2} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))), HasSubset.Subset.{u3} (Finset.{u3} α) (Finset.instHasSubsetFinset.{u3} α) (Finsupp.support.{u3, max u2 u1} α (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.zero.{u2, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1))) (Finsupp.curry.{u3, u2, u1} α β M _inst_1 f)) (Finset.image.{max u2 u3, u3} (Prod.{u3, u2} α β) α (fun (a : α) (b : α) => _inst_3 a b) (Prod.fst.{u3, u2} α β) (Finsupp.support.{max u3 u2, u1} (Prod.{u3, u2} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1)) f)) Case conversion may be inaccurate. Consider using '#align finsupp.support_curry Finsupp.support_curryₓ'. -/ @@ -2127,7 +2127,7 @@ def sumElim {α β γ : Type _} [Zero γ] (f : α →₀ γ) (g : β →₀ γ) /- warning: finsupp.coe_sum_elim -> Finsupp.coe_sumElim is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{u1, u3} α γ _inst_1) (g : Finsupp.{u2, u3} β γ _inst_1), Eq.{max (succ (max u1 u2)) (succ u3)} ((Sum.{u1, u2} α β) -> γ) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Finsupp.sumElim.{u1, u2, u3} α β γ _inst_1 f g)) (Sum.elim.{u1, u2, succ u3} α β γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α γ _inst_1) (fun (_x : Finsupp.{u1, u3} α γ _inst_1) => α -> γ) (Finsupp.hasCoeToFun.{u1, u3} α γ _inst_1) f) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β γ _inst_1) (fun (_x : Finsupp.{u2, u3} β γ _inst_1) => β -> γ) (Finsupp.hasCoeToFun.{u2, u3} β γ _inst_1) g)) + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{u1, u3} α γ _inst_1) (g : Finsupp.{u2, u3} β γ _inst_1), Eq.{max (succ (max u1 u2)) (succ u3)} ((Sum.{u1, u2} α β) -> γ) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.coeFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Finsupp.sumElim.{u1, u2, u3} α β γ _inst_1 f g)) (Sum.elim.{u1, u2, succ u3} α β γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α γ _inst_1) (fun (_x : Finsupp.{u1, u3} α γ _inst_1) => α -> γ) (Finsupp.coeFun.{u1, u3} α γ _inst_1) f) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β γ _inst_1) (fun (_x : Finsupp.{u2, u3} β γ _inst_1) => β -> γ) (Finsupp.coeFun.{u2, u3} β γ _inst_1) g)) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Zero.{u1} γ] (f : Finsupp.{u3, u1} α γ _inst_1) (g : Finsupp.{u2, u1} β γ _inst_1), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (forall (ᾰ : Sum.{u3, u2} α β), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) ᾰ) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Finsupp.sumElim.{u3, u2, u1} α β γ _inst_1 f g)) (Sum.elim.{u3, u2, succ u1} α β γ (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α γ _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => γ) _x) (Finsupp.funLike.{u3, u1} α γ _inst_1) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β γ _inst_1) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => γ) _x) (Finsupp.funLike.{u2, u1} β γ _inst_1) g)) Case conversion may be inaccurate. Consider using '#align finsupp.coe_sum_elim Finsupp.coe_sumElimₓ'. -/ @@ -2139,7 +2139,7 @@ theorem coe_sumElim {α β γ : Type _} [Zero γ] (f : α →₀ γ) (g : β → /- warning: finsupp.sum_elim_apply -> Finsupp.sumElim_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{u1, u3} α γ _inst_1) (g : Finsupp.{u2, u3} β γ _inst_1) (x : Sum.{u1, u2} α β), Eq.{succ u3} γ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Finsupp.sumElim.{u1, u2, u3} α β γ _inst_1 f g) x) (Sum.elim.{u1, u2, succ u3} α β γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α γ _inst_1) (fun (_x : Finsupp.{u1, u3} α γ _inst_1) => α -> γ) (Finsupp.hasCoeToFun.{u1, u3} α γ _inst_1) f) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β γ _inst_1) (fun (_x : Finsupp.{u2, u3} β γ _inst_1) => β -> γ) (Finsupp.hasCoeToFun.{u2, u3} β γ _inst_1) g) x) + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{u1, u3} α γ _inst_1) (g : Finsupp.{u2, u3} β γ _inst_1) (x : Sum.{u1, u2} α β), Eq.{succ u3} γ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.coeFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Finsupp.sumElim.{u1, u2, u3} α β γ _inst_1 f g) x) (Sum.elim.{u1, u2, succ u3} α β γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α γ _inst_1) (fun (_x : Finsupp.{u1, u3} α γ _inst_1) => α -> γ) (Finsupp.coeFun.{u1, u3} α γ _inst_1) f) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β γ _inst_1) (fun (_x : Finsupp.{u2, u3} β γ _inst_1) => β -> γ) (Finsupp.coeFun.{u2, u3} β γ _inst_1) g) x) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Zero.{u1} γ] (f : Finsupp.{u3, u1} α γ _inst_1) (g : Finsupp.{u2, u1} β γ _inst_1) (x : Sum.{u3, u2} α β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) x) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Finsupp.sumElim.{u3, u2, u1} α β γ _inst_1 f g) x) (Sum.elim.{u3, u2, succ u1} α β γ (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α γ _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => γ) _x) (Finsupp.funLike.{u3, u1} α γ _inst_1) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β γ _inst_1) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => γ) _x) (Finsupp.funLike.{u2, u1} β γ _inst_1) g) x) Case conversion may be inaccurate. Consider using '#align finsupp.sum_elim_apply Finsupp.sumElim_applyₓ'. -/ @@ -2150,7 +2150,7 @@ theorem sumElim_apply {α β γ : Type _} [Zero γ] (f : α →₀ γ) (g : β /- warning: finsupp.sum_elim_inl -> Finsupp.sumElim_inl is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{u1, u3} α γ _inst_1) (g : Finsupp.{u2, u3} β γ _inst_1) (x : α), Eq.{succ u3} γ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Finsupp.sumElim.{u1, u2, u3} α β γ _inst_1 f g) (Sum.inl.{u1, u2} α β x)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α γ _inst_1) (fun (_x : Finsupp.{u1, u3} α γ _inst_1) => α -> γ) (Finsupp.hasCoeToFun.{u1, u3} α γ _inst_1) f x) + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{u1, u3} α γ _inst_1) (g : Finsupp.{u2, u3} β γ _inst_1) (x : α), Eq.{succ u3} γ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.coeFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Finsupp.sumElim.{u1, u2, u3} α β γ _inst_1 f g) (Sum.inl.{u1, u2} α β x)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α γ _inst_1) (fun (_x : Finsupp.{u1, u3} α γ _inst_1) => α -> γ) (Finsupp.coeFun.{u1, u3} α γ _inst_1) f x) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Zero.{u1} γ] (f : Finsupp.{u3, u1} α γ _inst_1) (g : Finsupp.{u2, u1} β γ _inst_1) (x : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) (Sum.inl.{u3, u2} α β x)) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Finsupp.sumElim.{u3, u2, u1} α β γ _inst_1 f g) (Sum.inl.{u3, u2} α β x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α γ _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => γ) _x) (Finsupp.funLike.{u3, u1} α γ _inst_1) f x) Case conversion may be inaccurate. Consider using '#align finsupp.sum_elim_inl Finsupp.sumElim_inlₓ'. -/ @@ -2161,7 +2161,7 @@ theorem sumElim_inl {α β γ : Type _} [Zero γ] (f : α →₀ γ) (g : β → /- warning: finsupp.sum_elim_inr -> Finsupp.sumElim_inr is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{u1, u3} α γ _inst_1) (g : Finsupp.{u2, u3} β γ _inst_1) (x : β), Eq.{succ u3} γ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Finsupp.sumElim.{u1, u2, u3} α β γ _inst_1 f g) (Sum.inr.{u1, u2} α β x)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β γ _inst_1) (fun (_x : Finsupp.{u2, u3} β γ _inst_1) => β -> γ) (Finsupp.hasCoeToFun.{u2, u3} β γ _inst_1) g x) + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{u1, u3} α γ _inst_1) (g : Finsupp.{u2, u3} β γ _inst_1) (x : β), Eq.{succ u3} γ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.coeFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Finsupp.sumElim.{u1, u2, u3} α β γ _inst_1 f g) (Sum.inr.{u1, u2} α β x)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β γ _inst_1) (fun (_x : Finsupp.{u2, u3} β γ _inst_1) => β -> γ) (Finsupp.coeFun.{u2, u3} β γ _inst_1) g x) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Zero.{u1} γ] (f : Finsupp.{u3, u1} α γ _inst_1) (g : Finsupp.{u2, u1} β γ _inst_1) (x : β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) (Sum.inr.{u3, u2} α β x)) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Finsupp.sumElim.{u3, u2, u1} α β γ _inst_1 f g) (Sum.inr.{u3, u2} α β x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β γ _inst_1) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => γ) _x) (Finsupp.funLike.{u2, u1} β γ _inst_1) g x) Case conversion may be inaccurate. Consider using '#align finsupp.sum_elim_inr Finsupp.sumElim_inrₓ'. -/ @@ -2190,7 +2190,7 @@ def sumFinsuppEquivProdFinsupp {α β γ : Type _} [Zero γ] : (Sum α β →₀ /- warning: finsupp.fst_sum_finsupp_equiv_prod_finsupp -> Finsupp.fst_sumFinsuppEquivProdFinsupp is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (x : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α γ _inst_1) (fun (_x : Finsupp.{u1, u3} α γ _inst_1) => α -> γ) (Finsupp.hasCoeToFun.{u1, u3} α γ _inst_1) (Prod.fst.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3))) (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) => (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) -> (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (Finsupp.sumFinsuppEquivProdFinsupp.{u1, u2, u3} α β γ _inst_1) f)) x) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) f (Sum.inl.{u1, u2} α β x)) + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (x : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α γ _inst_1) (fun (_x : Finsupp.{u1, u3} α γ _inst_1) => α -> γ) (Finsupp.coeFun.{u1, u3} α γ _inst_1) (Prod.fst.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3))) (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) => (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) -> (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (Finsupp.sumFinsuppEquivProdFinsupp.{u1, u2, u3} α β γ _inst_1) f)) x) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.coeFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) f (Sum.inl.{u1, u2} α β x)) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Zero.{u1} γ] (f : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) (x : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => γ) x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α γ _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => γ) _x) (Finsupp.funLike.{u3, u1} α γ _inst_1) (Prod.fst.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Equiv.{max (succ u1) (succ (max u2 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) => Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) _x) (Equiv.instFunLikeEquiv.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1))) (Finsupp.sumFinsuppEquivProdFinsupp.{u3, u2, u1} α β γ _inst_1) f)) x) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) f (Sum.inl.{u3, u2} α β x)) Case conversion may be inaccurate. Consider using '#align finsupp.fst_sum_finsupp_equiv_prod_finsupp Finsupp.fst_sumFinsuppEquivProdFinsuppₓ'. -/ @@ -2201,7 +2201,7 @@ theorem fst_sumFinsuppEquivProdFinsupp {α β γ : Type _} [Zero γ] (f : Sum α /- warning: finsupp.snd_sum_finsupp_equiv_prod_finsupp -> Finsupp.snd_sumFinsuppEquivProdFinsupp is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (y : β), Eq.{succ u3} γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β γ _inst_1) (fun (_x : Finsupp.{u2, u3} β γ _inst_1) => β -> γ) (Finsupp.hasCoeToFun.{u2, u3} β γ _inst_1) (Prod.snd.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3))) (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) => (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) -> (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (Finsupp.sumFinsuppEquivProdFinsupp.{u1, u2, u3} α β γ _inst_1) f)) y) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) f (Sum.inr.{u1, u2} α β y)) + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (f : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (y : β), Eq.{succ u3} γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β γ _inst_1) (fun (_x : Finsupp.{u2, u3} β γ _inst_1) => β -> γ) (Finsupp.coeFun.{u2, u3} β γ _inst_1) (Prod.snd.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3))) (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) => (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) -> (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1))) (Finsupp.sumFinsuppEquivProdFinsupp.{u1, u2, u3} α β γ _inst_1) f)) y) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.coeFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) f (Sum.inr.{u1, u2} α β y)) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Zero.{u1} γ] (f : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) (y : β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => γ) y) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β γ _inst_1) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => γ) _x) (Finsupp.funLike.{u2, u1} β γ _inst_1) (Prod.snd.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Equiv.{max (succ u1) (succ (max u2 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) => Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) _x) (Equiv.instFunLikeEquiv.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1))) (Finsupp.sumFinsuppEquivProdFinsupp.{u3, u2, u1} α β γ _inst_1) f)) y) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) f (Sum.inr.{u3, u2} α β y)) Case conversion may be inaccurate. Consider using '#align finsupp.snd_sum_finsupp_equiv_prod_finsupp Finsupp.snd_sumFinsuppEquivProdFinsuppₓ'. -/ @@ -2212,7 +2212,7 @@ theorem snd_sumFinsuppEquivProdFinsupp {α β γ : Type _} [Zero γ] (f : Sum α /- warning: finsupp.sum_finsupp_equiv_prod_finsupp_symm_inl -> Finsupp.sumFinsuppEquivProdFinsupp_symm_inl is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (fg : Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (x : α), Eq.{succ u3} γ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (coeFn.{max 1 (max (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3)) (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3)), max (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3)} (Equiv.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (fun (_x : Equiv.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) => (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) -> (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (Equiv.hasCoeToFun.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (Equiv.symm.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.sumFinsuppEquivProdFinsupp.{u1, u2, u3} α β γ _inst_1)) fg) (Sum.inl.{u1, u2} α β x)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α γ _inst_1) (fun (_x : Finsupp.{u1, u3} α γ _inst_1) => α -> γ) (Finsupp.hasCoeToFun.{u1, u3} α γ _inst_1) (Prod.fst.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1) fg) x) + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (fg : Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (x : α), Eq.{succ u3} γ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.coeFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (coeFn.{max 1 (max (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3)) (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3)), max (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3)} (Equiv.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (fun (_x : Equiv.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) => (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) -> (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (Equiv.hasCoeToFun.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (Equiv.symm.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.sumFinsuppEquivProdFinsupp.{u1, u2, u3} α β γ _inst_1)) fg) (Sum.inl.{u1, u2} α β x)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α γ _inst_1) (fun (_x : Finsupp.{u1, u3} α γ _inst_1) => α -> γ) (Finsupp.coeFun.{u1, u3} α γ _inst_1) (Prod.fst.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1) fg) x) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Zero.{u1} γ] (fg : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) (x : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) (Sum.inl.{u3, u2} α β x)) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Equiv.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) (fun (_x : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) => Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) _x) (Equiv.instFunLikeEquiv.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1)) (Equiv.symm.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) (Finsupp.sumFinsuppEquivProdFinsupp.{u3, u2, u1} α β γ _inst_1)) fg) (Sum.inl.{u3, u2} α β x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α γ _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => γ) _x) (Finsupp.funLike.{u3, u1} α γ _inst_1) (Prod.fst.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1) fg) x) Case conversion may be inaccurate. Consider using '#align finsupp.sum_finsupp_equiv_prod_finsupp_symm_inl Finsupp.sumFinsuppEquivProdFinsupp_symm_inlₓ'. -/ @@ -2223,7 +2223,7 @@ theorem sumFinsuppEquivProdFinsupp_symm_inl {α β γ : Type _} [Zero γ] (fg : /- warning: finsupp.sum_finsupp_equiv_prod_finsupp_symm_inr -> Finsupp.sumFinsuppEquivProdFinsupp_symm_inr is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (fg : Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (y : β), Eq.{succ u3} γ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (coeFn.{max 1 (max (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3)) (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3)), max (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3)} (Equiv.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (fun (_x : Equiv.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) => (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) -> (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (Equiv.hasCoeToFun.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (Equiv.symm.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.sumFinsuppEquivProdFinsupp.{u1, u2, u3} α β γ _inst_1)) fg) (Sum.inr.{u1, u2} α β y)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β γ _inst_1) (fun (_x : Finsupp.{u2, u3} β γ _inst_1) => β -> γ) (Finsupp.hasCoeToFun.{u2, u3} β γ _inst_1) (Prod.snd.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1) fg) y) + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Zero.{u3} γ] (fg : Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (y : β), Eq.{succ u3} γ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) => (Sum.{u1, u2} α β) -> γ) (Finsupp.coeFun.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (coeFn.{max 1 (max (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3)) (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u3)) (succ (max u2 u3)), max (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u1 u2)) (succ u3)} (Equiv.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (fun (_x : Equiv.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) => (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) -> (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (Equiv.hasCoeToFun.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u2)) (succ u3)} (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1)) (Equiv.symm.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u3)) (succ (max u2 u3))} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1)) (Finsupp.sumFinsuppEquivProdFinsupp.{u1, u2, u3} α β γ _inst_1)) fg) (Sum.inr.{u1, u2} α β y)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β γ _inst_1) (fun (_x : Finsupp.{u2, u3} β γ _inst_1) => β -> γ) (Finsupp.coeFun.{u2, u3} β γ _inst_1) (Prod.snd.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α γ _inst_1) (Finsupp.{u2, u3} β γ _inst_1) fg) y) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Zero.{u1} γ] (fg : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) (y : β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) (Sum.inr.{u3, u2} α β y)) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => γ) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) γ _inst_1) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Equiv.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) (fun (_x : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) => Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) _x) (Equiv.instFunLikeEquiv.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1)) (Equiv.symm.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) γ _inst_1) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1)) (Finsupp.sumFinsuppEquivProdFinsupp.{u3, u2, u1} α β γ _inst_1)) fg) (Sum.inr.{u3, u2} α β y)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β γ _inst_1) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => γ) _x) (Finsupp.funLike.{u2, u1} β γ _inst_1) (Prod.snd.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α γ _inst_1) (Finsupp.{u2, u1} β γ _inst_1) fg) y) Case conversion may be inaccurate. Consider using '#align finsupp.sum_finsupp_equiv_prod_finsupp_symm_inr Finsupp.sumFinsuppEquivProdFinsupp_symm_inrₓ'. -/ @@ -2236,7 +2236,7 @@ variable [AddMonoid M] /- warning: finsupp.sum_finsupp_add_equiv_prod_finsupp -> Finsupp.sumFinsuppAddEquivProdFinsupp is a dubious translation: lean 3 declaration is - forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u2}} {β : Type.{u3}}, AddEquiv.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) + forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u2}} {β : Type.{u3}}, AddEquiv.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) but is expected to have type forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u2}} {β : Type.{u3}}, AddEquiv.{max u1 u3 u2, max (max u1 u3) u1 u2} (Finsupp.{max u3 u2, u1} (Sum.{u2, u3} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u2, max u1 u3} (Finsupp.{u2, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u2, max u1 u3} (Finsupp.{u2, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.sum_finsupp_add_equiv_prod_finsupp Finsupp.sumFinsuppAddEquivProdFinsuppₓ'. -/ @@ -2255,7 +2255,7 @@ def sumFinsuppAddEquivProdFinsupp {α β : Type _} : (Sum α β →₀ M) ≃+ ( /- warning: finsupp.fst_sum_finsupp_add_equiv_prod_finsupp -> Finsupp.fst_sumFinsuppAddEquivProdFinsupp is a dubious translation: lean 3 declaration is - forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u2}} {β : Type.{u3}} (f : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (x : α), Eq.{succ u1} M (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => α -> M) (Finsupp.hasCoeToFun.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.fst.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (coeFn.{max (succ (max (max u2 u3) u1)) (succ (max (max u2 u1) u3 u1)), max (succ (max (max u2 u3) u1)) (succ (max (max u2 u1) u3 u1))} (AddEquiv.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (fun (_x : AddEquiv.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) => (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) -> (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))))) (AddEquiv.hasCoeToFun.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u2, u3} M _inst_1 α β) f)) x) (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ (max u2 u3)) (succ u1)} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Sum.{u2, u3} α β) -> M) (Finsupp.hasCoeToFun.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) f (Sum.inl.{u2, u3} α β x)) + forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u2}} {β : Type.{u3}} (f : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (x : α), Eq.{succ u1} M (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => α -> M) (Finsupp.coeFun.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.fst.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (coeFn.{max (succ (max (max u2 u3) u1)) (succ (max (max u2 u1) u3 u1)), max (succ (max (max u2 u3) u1)) (succ (max (max u2 u1) u3 u1))} (AddEquiv.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (fun (_x : AddEquiv.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) => (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) -> (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))))) (AddEquiv.hasCoeToFun.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u2, u3} M _inst_1 α β) f)) x) (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ (max u2 u3)) (succ u1)} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Sum.{u2, u3} α β) -> M) (Finsupp.coeFun.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) f (Sum.inl.{u2, u3} α β x)) but is expected to have type forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u3}} {β : Type.{u2}} (f : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (x : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.fst.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (max (succ u2) (succ u3)) (succ u1), max (max (succ u2) (succ u3)) (succ u1)} (AddEquiv.{max u1 u2 u3, max (max u1 u2) u1 u3} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) => Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) _x) (AddHomClass.toFunLike.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max u1 u2 u3, max (max u1 u2) u1 u3} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (AddZeroClass.toAdd.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1))) (AddZeroClass.toAdd.{max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1)))) (AddMonoidHomClass.toAddHomClass.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max u1 u2 u3, max (max u1 u2) u1 u3} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1)) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1))) (AddEquivClass.instAddMonoidHomClass.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max u1 u2 u3, max (max u1 u2) u1 u3} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1)) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1))) (AddEquiv.instAddEquivClassAddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))))))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u3, u2} M _inst_1 α β) f)) x) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => M) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) f (Sum.inl.{u3, u2} α β x)) Case conversion may be inaccurate. Consider using '#align finsupp.fst_sum_finsupp_add_equiv_prod_finsupp Finsupp.fst_sumFinsuppAddEquivProdFinsuppₓ'. -/ @@ -2266,7 +2266,7 @@ theorem fst_sumFinsuppAddEquivProdFinsupp {α β : Type _} (f : Sum α β →₀ /- warning: finsupp.snd_sum_finsupp_add_equiv_prod_finsupp -> Finsupp.snd_sumFinsuppAddEquivProdFinsupp is a dubious translation: lean 3 declaration is - forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u2}} {β : Type.{u3}} (f : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (y : β), Eq.{succ u1} M (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => β -> M) (Finsupp.hasCoeToFun.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.snd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (coeFn.{max (succ (max (max u2 u3) u1)) (succ (max (max u2 u1) u3 u1)), max (succ (max (max u2 u3) u1)) (succ (max (max u2 u1) u3 u1))} (AddEquiv.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (fun (_x : AddEquiv.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) => (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) -> (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))))) (AddEquiv.hasCoeToFun.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u2, u3} M _inst_1 α β) f)) y) (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ (max u2 u3)) (succ u1)} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Sum.{u2, u3} α β) -> M) (Finsupp.hasCoeToFun.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) f (Sum.inr.{u2, u3} α β y)) + forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u2}} {β : Type.{u3}} (f : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (y : β), Eq.{succ u1} M (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => β -> M) (Finsupp.coeFun.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.snd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (coeFn.{max (succ (max (max u2 u3) u1)) (succ (max (max u2 u1) u3 u1)), max (succ (max (max u2 u3) u1)) (succ (max (max u2 u1) u3 u1))} (AddEquiv.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (fun (_x : AddEquiv.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) => (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) -> (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))))) (AddEquiv.hasCoeToFun.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u2, u3} M _inst_1 α β) f)) y) (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ (max u2 u3)) (succ u1)} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Sum.{u2, u3} α β) -> M) (Finsupp.coeFun.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) f (Sum.inr.{u2, u3} α β y)) but is expected to have type forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u3}} {β : Type.{u2}} (f : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (y : β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) y) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.snd.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (max (succ u2) (succ u3)) (succ u1), max (max (succ u2) (succ u3)) (succ u1)} (AddEquiv.{max u1 u2 u3, max (max u1 u2) u1 u3} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) => Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) _x) (AddHomClass.toFunLike.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max u1 u2 u3, max (max u1 u2) u1 u3} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (AddZeroClass.toAdd.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1))) (AddZeroClass.toAdd.{max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1)))) (AddMonoidHomClass.toAddHomClass.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max u1 u2 u3, max (max u1 u2) u1 u3} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1)) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1))) (AddEquivClass.instAddMonoidHomClass.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max u1 u2 u3, max (max u1 u2) u1 u3} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1)) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1))) (AddEquiv.instAddEquivClassAddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))))))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u3, u2} M _inst_1 α β) f)) y) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => M) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) f (Sum.inr.{u3, u2} α β y)) Case conversion may be inaccurate. Consider using '#align finsupp.snd_sum_finsupp_add_equiv_prod_finsupp Finsupp.snd_sumFinsuppAddEquivProdFinsuppₓ'. -/ @@ -2277,7 +2277,7 @@ theorem snd_sumFinsuppAddEquivProdFinsupp {α β : Type _} (f : Sum α β →₀ /- warning: finsupp.sum_finsupp_add_equiv_prod_finsupp_symm_inl -> Finsupp.sumFinsuppAddEquivProdFinsupp_symm_inl is a dubious translation: lean 3 declaration is - forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u2}} {β : Type.{u3}} (fg : Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (x : α), Eq.{succ u1} M (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ (max u2 u3)) (succ u1)} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Sum.{u2, u3} α β) -> M) (Finsupp.hasCoeToFun.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (coeFn.{max (succ (max (max u2 u1) u3 u1)) (succ (max (max u2 u3) u1)), max (succ (max (max u2 u1) u3 u1)) (succ (max (max u2 u3) u1))} (AddEquiv.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : AddEquiv.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) -> (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (AddEquiv.hasCoeToFun.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (AddEquiv.symm.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u2, u3} M _inst_1 α β)) fg) (Sum.inl.{u2, u3} α β x)) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => α -> M) (Finsupp.hasCoeToFun.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.fst.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) fg) x) + forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u2}} {β : Type.{u3}} (fg : Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (x : α), Eq.{succ u1} M (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ (max u2 u3)) (succ u1)} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Sum.{u2, u3} α β) -> M) (Finsupp.coeFun.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (coeFn.{max (succ (max (max u2 u1) u3 u1)) (succ (max (max u2 u3) u1)), max (succ (max (max u2 u1) u3 u1)) (succ (max (max u2 u3) u1))} (AddEquiv.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : AddEquiv.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) -> (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (AddEquiv.hasCoeToFun.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (AddEquiv.symm.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u2, u3} M _inst_1 α β)) fg) (Sum.inl.{u2, u3} α β x)) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => α -> M) (Finsupp.coeFun.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.fst.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) fg) x) but is expected to have type forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u3}} {β : Type.{u2}} (fg : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (x : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => M) (Sum.inl.{u3, u2} α β x)) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => M) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (max (succ u2) (succ u3)) (succ u1), max (max (succ u2) (succ u3)) (succ u1)} (AddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (fun (_x : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) => Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) _x) (AddHomClass.toFunLike.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (AddZeroClass.toAdd.{max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1)))) (AddZeroClass.toAdd.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1))) (AddMonoidHomClass.toAddHomClass.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1)) (AddEquivClass.instAddMonoidHomClass.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1)) (AddEquiv.instAddEquivClassAddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))))) (AddEquiv.symm.{max (max u2 u3) u1, max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u3, u2} M _inst_1 α β)) fg) (Sum.inl.{u3, u2} α β x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.fst.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) fg) x) Case conversion may be inaccurate. Consider using '#align finsupp.sum_finsupp_add_equiv_prod_finsupp_symm_inl Finsupp.sumFinsuppAddEquivProdFinsupp_symm_inlₓ'. -/ @@ -2288,7 +2288,7 @@ theorem sumFinsuppAddEquivProdFinsupp_symm_inl {α β : Type _} (fg : (α →₀ /- warning: finsupp.sum_finsupp_add_equiv_prod_finsupp_symm_inr -> Finsupp.sumFinsuppAddEquivProdFinsupp_symm_inr is a dubious translation: lean 3 declaration is - forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u2}} {β : Type.{u3}} (fg : Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (y : β), Eq.{succ u1} M (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ (max u2 u3)) (succ u1)} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Sum.{u2, u3} α β) -> M) (Finsupp.hasCoeToFun.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (coeFn.{max (succ (max (max u2 u1) u3 u1)) (succ (max (max u2 u3) u1)), max (succ (max (max u2 u1) u3 u1)) (succ (max (max u2 u3) u1))} (AddEquiv.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : AddEquiv.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) -> (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (AddEquiv.hasCoeToFun.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (AddEquiv.symm.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.hasAdd.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.hasAdd.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.hasAdd.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u2, u3} M _inst_1 α β)) fg) (Sum.inr.{u2, u3} α β y)) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => β -> M) (Finsupp.hasCoeToFun.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.snd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) fg) y) + forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u2}} {β : Type.{u3}} (fg : Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (y : β), Eq.{succ u1} M (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ (max u2 u3)) (succ u1)} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Sum.{u2, u3} α β) -> M) (Finsupp.coeFun.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (coeFn.{max (succ (max (max u2 u1) u3 u1)) (succ (max (max u2 u3) u1)), max (succ (max (max u2 u1) u3 u1)) (succ (max (max u2 u3) u1))} (AddEquiv.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : AddEquiv.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) -> (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (AddEquiv.hasCoeToFun.{max (max u2 u1) u3 u1, max (max u2 u3) u1} (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (AddEquiv.symm.{max (max u2 u3) u1, max (max u2 u1) u3 u1} (Finsupp.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))) (Finsupp.add.{max u2 u3, u1} (Sum.{u2, u3} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.hasAdd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{u2, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u3, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u2, u3} M _inst_1 α β)) fg) (Sum.inr.{u2, u3} α β y)) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (fun (_x : Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) => β -> M) (Finsupp.coeFun.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.snd.{max u2 u1, max u3 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.{u3, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) fg) y) but is expected to have type forall {M : Type.{u1}} [_inst_1 : AddMonoid.{u1} M] {α : Type.{u3}} {β : Type.{u2}} (fg : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (y : β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => M) (Sum.inr.{u3, u2} α β y)) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Finsupp.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Sum.{u3, u2} α β) (fun (_x : Sum.{u3, u2} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u3, u2} α β) => M) _x) (Finsupp.funLike.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (max (succ u2) (succ u3)) (succ u1), max (max (succ u2) (succ u3)) (succ u1)} (AddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (fun (_x : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) => Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) _x) (AddHomClass.toFunLike.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (AddZeroClass.toAdd.{max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1)))) (AddZeroClass.toAdd.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1))) (AddMonoidHomClass.toAddHomClass.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1)) (AddEquivClass.instAddMonoidHomClass.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddZeroClassSum.{max u3 u1, max u2 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u3, u1} α M _inst_1)) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{u2, u1} β M _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.addMonoid.{max u2 u3, u1} (Sum.{u3, u2} α β) M _inst_1)) (AddEquiv.instAddEquivClassAddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)))))) (AddEquiv.symm.{max (max u2 u3) u1, max (max u2 u3) u1} (Finsupp.{max u2 u3, u1} (Sum.{u3, u2} α β) M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1))) (Finsupp.add.{max u3 u2, u1} (Sum.{u3, u2} α β) M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Prod.instAddSum.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M (AddMonoid.toAddZeroClass.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M (AddMonoid.toAddZeroClass.{u1} M _inst_1))) (Finsupp.sumFinsuppAddEquivProdFinsupp.{u1, u3, u2} M _inst_1 α β)) fg) (Sum.inr.{u3, u2} α β y)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) (Prod.snd.{max u1 u3, max u1 u2} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddMonoid.toZero.{u1} M _inst_1)) fg) y) Case conversion may be inaccurate. Consider using '#align finsupp.sum_finsupp_add_equiv_prod_finsupp_symm_inr Finsupp.sumFinsuppAddEquivProdFinsupp_symm_inrₓ'. -/ @@ -2308,7 +2308,7 @@ variable [Zero M] [MonoidWithZero R] [MulActionWithZero R M] /- warning: finsupp.single_smul -> Finsupp.single_smul is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Zero.{u2} M] [_inst_2 : MonoidWithZero.{u3} R] [_inst_3 : MulActionWithZero.{u3, u2} R M _inst_2 _inst_1] (a : α) (b : α) (f : α -> M) (r : R), Eq.{succ u2} M (SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M _inst_1 (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2))) _inst_1 (MulActionWithZero.toSMulWithZero.{u3, u2} R M _inst_2 _inst_1 _inst_3))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2)))) (fun (_x : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2)))) => α -> R) (Finsupp.hasCoeToFun.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2)))) (Finsupp.single.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2))) a r) b) (f a)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a (SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M _inst_1 (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2))) _inst_1 (MulActionWithZero.toSMulWithZero.{u3, u2} R M _inst_2 _inst_1 _inst_3))) r (f b))) b) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Zero.{u2} M] [_inst_2 : MonoidWithZero.{u3} R] [_inst_3 : MulActionWithZero.{u3, u2} R M _inst_2 _inst_1] (a : α) (b : α) (f : α -> M) (r : R), Eq.{succ u2} M (SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M _inst_1 (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2))) _inst_1 (MulActionWithZero.toSMulWithZero.{u3, u2} R M _inst_2 _inst_1 _inst_3))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2)))) (fun (_x : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2)))) => α -> R) (Finsupp.coeFun.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2)))) (Finsupp.single.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2))) a r) b) (f a)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a (SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M _inst_1 (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R _inst_2))) _inst_1 (MulActionWithZero.toSMulWithZero.{u3, u2} R M _inst_2 _inst_1 _inst_3))) r (f b))) b) but is expected to have type forall {α : Type.{u1}} {M : Type.{u3}} {R : Type.{u2}} [_inst_1 : Zero.{u3} M] [_inst_2 : MonoidWithZero.{u2} R] [_inst_3 : MulActionWithZero.{u2, u3} R M _inst_2 _inst_1] (a : α) (b : α) (f : α -> M) (r : R), Eq.{succ u3} M (HSMul.hSMul.{u2, u3, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) b) M M (instHSMul.{u2, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) b) M (SMulZeroClass.toSMul.{u2, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) b) M _inst_1 (SMulWithZero.toSMulZeroClass.{u2, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) b) M (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) b) _inst_2) _inst_1 (MulActionWithZero.toSMulWithZero.{u2, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) b) M _inst_2 _inst_1 _inst_3)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R _inst_2)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) _x) (Finsupp.funLike.{u1, u2} α R (MonoidWithZero.toZero.{u2} R _inst_2)) (Finsupp.single.{u1, u2} α R (MonoidWithZero.toZero.{u2} R _inst_2) a r) b) (f a)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M _inst_1) (Finsupp.single.{u1, u3} α M _inst_1 a (HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M _inst_1 (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R _inst_2) _inst_1 (MulActionWithZero.toSMulWithZero.{u2, u3} R M _inst_2 _inst_1 _inst_3)))) r (f b))) b) Case conversion may be inaccurate. Consider using '#align finsupp.single_smul Finsupp.single_smulₓ'. -/ @@ -2404,7 +2404,7 @@ attribute [local instance] comap_has_smul comap_mul_action comap_distrib_mul_act /- warning: finsupp.comap_smul_apply -> Finsupp.comapSMul_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {G : Type.{u3}} [_inst_1 : Group.{u3} G] [_inst_2 : MulAction.{u3, u1} G α (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_1))] [_inst_3 : AddCommMonoid.{u2} M] (g : G) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (SMul.smul.{u3, max u1 u2} G (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.comapSMul.{u1, u2, u3} α M G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_1)) _inst_2 _inst_3) g f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) f (SMul.smul.{u3, u1} G α (MulAction.toHasSmul.{u3, u1} G α (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_1)) _inst_2) (Inv.inv.{u3} G (DivInvMonoid.toHasInv.{u3} G (Group.toDivInvMonoid.{u3} G _inst_1)) g) a)) + forall {α : Type.{u1}} {M : Type.{u2}} {G : Type.{u3}} [_inst_1 : Group.{u3} G] [_inst_2 : MulAction.{u3, u1} G α (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_1))] [_inst_3 : AddCommMonoid.{u2} M] (g : G) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (SMul.smul.{u3, max u1 u2} G (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.comapSMul.{u1, u2, u3} α M G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_1)) _inst_2 _inst_3) g f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) f (SMul.smul.{u3, u1} G α (MulAction.toHasSmul.{u3, u1} G α (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_1)) _inst_2) (Inv.inv.{u3} G (DivInvMonoid.toHasInv.{u3} G (Group.toDivInvMonoid.{u3} G _inst_1)) g) a)) but is expected to have type forall {α : Type.{u3}} {M : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u1} G] [_inst_2 : MulAction.{u1, u3} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_1))] [_inst_3 : AddCommMonoid.{u2} M] (g : G) (f : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} G (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (instHSMul.{u1, max u3 u2} G (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.comapSMul.{u3, u2, u1} α M G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_1)) _inst_2 _inst_3)) g f) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) f (HSMul.hSMul.{u1, u3, u3} G α α (instHSMul.{u1, u3} G α (MulAction.toSMul.{u1, u3} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_1)) _inst_2)) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_1)))) g) a)) Case conversion may be inaccurate. Consider using '#align finsupp.comap_smul_apply Finsupp.comapSMul_applyₓ'. -/ @@ -2436,9 +2436,9 @@ Throughout this section, some `monoid` and `semiring` arguments are specified wi /- warning: finsupp.coe_smul -> Finsupp.coe_smul is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribSMul.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1)] (b : R) (v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))), Eq.{succ (max u1 u2)} (α -> M) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2))) b v)) (SMul.smul.{u3, max u1 u2} R (α -> M) (Function.hasSMul.{u1, u3, u2} α R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2))) b (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) v)) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribSMul.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1)] (b : R) (v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))), Eq.{succ (max u1 u2)} (α -> M) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2))) b v)) (SMul.smul.{u3, max u1 u2} R (α -> M) (Function.hasSMul.{u1, u3, u2} α R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2))) b (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) v)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u3}} {R : Type.{u2}} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : DistribSMul.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1)] (b : R) (v : Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)), Eq.{max (succ u1) (succ u3)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (HSMul.hSMul.{u2, max u1 u3, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (instHSMul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (SMulZeroClass.toSMul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.zero.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u3, u2} α M R (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) _inst_2)))) b v)) (HSMul.hSMul.{u2, max u1 u3, max u1 u3} R (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (instHSMul.{u2, max u1 u3} R (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (Pi.instSMul.{u1, u3, u2} α R (fun (a : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (fun (i : α) => SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) i) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) i) _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) i) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) i) _inst_1) _inst_2)))) b (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) v)) + forall {α : Type.{u1}} {M : Type.{u3}} {R : Type.{u2}} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : DistribSMul.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1)] (b : R) (v : Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)), Eq.{max (succ u1) (succ u3)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (HSMul.hSMul.{u2, max u1 u3, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (instHSMul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (SMulZeroClass.toSMul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.zero.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.smulZeroClass.{u1, u3, u2} α M R (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) _inst_2)))) b v)) (HSMul.hSMul.{u2, max u1 u3, max u1 u3} R (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (instHSMul.{u2, max u1 u3} R (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (Pi.instSMul.{u1, u3, u2} α R (fun (a : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (fun (i : α) => SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) i) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) i) _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) i) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) i) _inst_1) _inst_2)))) b (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) v)) Case conversion may be inaccurate. Consider using '#align finsupp.coe_smul Finsupp.coe_smulₓ'. -/ @[simp] theorem coe_smul [AddMonoid M] [DistribSMul R M] (b : R) (v : α →₀ M) : ⇑(b • v) = b • v := @@ -2447,9 +2447,9 @@ theorem coe_smul [AddMonoid M] [DistribSMul R M] (b : R) (v : α →₀ M) : ⇑ /- warning: finsupp.smul_apply -> Finsupp.smul_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribSMul.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1)] (b : R) (v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2))) b v) a) (SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2)) b (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) v a)) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribSMul.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1)] (b : R) (v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2))) b v) a) (SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2)) b (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) v a)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u3}} {R : Type.{u2}} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : DistribSMul.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1)] (b : R) (v : Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (a : α), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (HSMul.hSMul.{u2, max u1 u3, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (instHSMul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (SMulZeroClass.toSMul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.zero.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u3, u2} α M R (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) _inst_2)))) b v) a) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1) _inst_2))) b (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) v a)) + forall {α : Type.{u1}} {M : Type.{u3}} {R : Type.{u2}} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : DistribSMul.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1)] (b : R) (v : Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (a : α), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (HSMul.hSMul.{u2, max u1 u3, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (instHSMul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (SMulZeroClass.toSMul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.zero.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.smulZeroClass.{u1, u3, u2} α M R (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) _inst_2)))) b v) a) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1) _inst_2))) b (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) v a)) Case conversion may be inaccurate. Consider using '#align finsupp.smul_apply Finsupp.smul_applyₓ'. -/ theorem smul_apply [AddMonoid M] [DistribSMul R M] (b : R) (v : α →₀ M) (a : α) : (b • v) a = b • v a := @@ -2458,9 +2458,9 @@ theorem smul_apply [AddMonoid M] [DistribSMul R M] (b : R) (v : α →₀ M) (a /- warning: is_smul_regular.finsupp -> IsSMulRegular.finsupp is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribSMul.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1)] {k : R}, (IsSMulRegular.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2)) k) -> (IsSMulRegular.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2))) k) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribSMul.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1)] {k : R}, (IsSMulRegular.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2)) k) -> (IsSMulRegular.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2))) k) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u3}} {R : Type.{u2}} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : DistribSMul.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1)] {k : R}, (IsSMulRegular.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) _inst_2)) k) -> (IsSMulRegular.{u2, max u3 u1} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (SMulZeroClass.toSMul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.zero.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u3, u2} α M R (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) _inst_2))) k) + forall {α : Type.{u1}} {M : Type.{u3}} {R : Type.{u2}} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : DistribSMul.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1)] {k : R}, (IsSMulRegular.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) _inst_2)) k) -> (IsSMulRegular.{u2, max u3 u1} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (SMulZeroClass.toSMul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.zero.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.smulZeroClass.{u1, u3, u2} α M R (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) _inst_2))) k) Case conversion may be inaccurate. Consider using '#align is_smul_regular.finsupp IsSMulRegular.finsuppₓ'. -/ theorem IsSMulRegular.finsupp [AddMonoid M] [DistribSMul R M] {k : R} (hk : IsSMulRegular M k) : IsSMulRegular (α →₀ M) k := fun _ _ h => ext fun i => hk (congr_fun h i) @@ -2507,9 +2507,9 @@ variable {α M} {R} /- warning: finsupp.support_smul -> Finsupp.support_smul is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] {b : R} {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))}, HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2)))) b g)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) g) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] {b : R} {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))}, HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2)))) b g)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) g) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] {b : R} {g : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.instHasSubsetFinset.{u1} α) (Finsupp.support.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.zero.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u2, u3} α M R (AddMonoid.toZero.{u2} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2))))) b g)) (Finsupp.support.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) g) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] {b : R} {g : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.instHasSubsetFinset.{u1} α) (Finsupp.support.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.zero.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddMonoid.toZero.{u2} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2))))) b g)) (Finsupp.support.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) g) Case conversion may be inaccurate. Consider using '#align finsupp.support_smul Finsupp.support_smulₓ'. -/ theorem support_smul {_ : Monoid R} [AddMonoid M] [DistribMulAction R M] {b : R} {g : α →₀ M} : (b • g).support ⊆ g.support := fun a => @@ -2520,9 +2520,9 @@ theorem support_smul {_ : Monoid R} [AddMonoid M] [DistribMulAction R M] {b : R} /- warning: finsupp.support_smul_eq -> Finsupp.support_smul_eq is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : NoZeroSMulDivisors.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] {b : R}, (Ne.{succ u3} R b (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))))) -> (forall {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))}, Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) b g)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) g)) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : NoZeroSMulDivisors.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] {b : R}, (Ne.{succ u3} R b (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))))) -> (forall {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))}, Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) b g)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) g)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : NoZeroSMulDivisors.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (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_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] {b : R}, (Ne.{succ u3} R b (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))))) -> (forall {g : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))}, Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.zero.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u2, u3} α M R (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (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_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3)))))) b g)) (Finsupp.support.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) g)) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : NoZeroSMulDivisors.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (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_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] {b : R}, (Ne.{succ u3} R b (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))))) -> (forall {g : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))}, Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.zero.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (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_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3)))))) b g)) (Finsupp.support.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) g)) Case conversion may be inaccurate. Consider using '#align finsupp.support_smul_eq Finsupp.support_smul_eqₓ'. -/ @[simp] theorem support_smul_eq [Semiring R] [AddCommMonoid M] [Module R M] [NoZeroSMulDivisors R M] {b : R} @@ -2536,9 +2536,9 @@ variable {p : α → Prop} /- warning: finsupp.filter_smul -> Finsupp.filter_smul is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {p : α -> Prop} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] {b : R} {v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) p (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2)))) b v)) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2)))) b (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) p v)) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {p : α -> Prop} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] {b : R} {v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) p (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2)))) b v)) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2)))) b (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) p v)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {p : α -> Prop} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] {b : R} {v : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.filter.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) p (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.zero.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u2, u3} α M R (AddMonoid.toZero.{u2} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2))))) b v)) (HSMul.hSMul.{u3, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.zero.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u2, u3} α M R (AddMonoid.toZero.{u2} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2))))) b (Finsupp.filter.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) p v)) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {p : α -> Prop} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] {b : R} {v : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.filter.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) p (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.zero.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddMonoid.toZero.{u2} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2))))) b v)) (HSMul.hSMul.{u3, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.zero.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddMonoid.toZero.{u2} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2))))) b (Finsupp.filter.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) p v)) Case conversion may be inaccurate. Consider using '#align finsupp.filter_smul Finsupp.filter_smulₓ'. -/ @[simp] theorem filter_smul {_ : Monoid R} [AddMonoid M] [DistribMulAction R M] {b : R} {v : α →₀ M} : @@ -2550,9 +2550,9 @@ end /- warning: finsupp.map_domain_smul -> Finsupp.mapDomain_smul is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {R : Type.{u4}} {_x : Monoid.{u4} R} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : DistribMulAction.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1)] {f : α -> β} (b : R) (v : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))), Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f (SMul.smul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (SMulZeroClass.toHasSmul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.smulZeroClass.{u1, u3, u4} α M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribMulAction.toDistribSMul.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1) _inst_2)))) b v)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribMulAction.toDistribSMul.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1) _inst_2)))) b (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f v)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {R : Type.{u4}} {_x : Monoid.{u4} R} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : DistribMulAction.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1)] {f : α -> β} (b : R) (v : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))), Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f (SMul.smul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (SMulZeroClass.toHasSmul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.smulZeroClass.{u1, u3, u4} α M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribMulAction.toDistribSMul.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1) _inst_2)))) b v)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribMulAction.toDistribSMul.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1) _inst_2)))) b (Finsupp.mapDomain.{u1, u2, u3} α β M _inst_1 f v)) but is expected to have type - forall {α : Type.{u2}} {β : Type.{u1}} {M : Type.{u3}} {R : Type.{u4}} {_x : Monoid.{u4} R} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : DistribMulAction.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1)] {f : α -> β} (b : R) (v : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.mapDomain.{u2, u1, u3} α β M _inst_1 f (HSMul.hSMul.{u4, max u2 u3, max u2 u3} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (instHSMul.{u4, max u2 u3} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (SMulZeroClass.toSMul.{u4, max u2 u3} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.instSMulZeroClassFinsuppZero.{u2, u3, u4} α M R (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribMulAction.toDistribSMul.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1) _inst_2))))) b v)) (HSMul.hSMul.{u4, max u3 u1, max u1 u3} R (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (instHSMul.{u4, max u1 u3} R (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (SMulZeroClass.toSMul.{u4, max u1 u3} R (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.zero.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u3, u4} β M R (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribMulAction.toDistribSMul.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1) _inst_2))))) b (Finsupp.mapDomain.{u2, u1, u3} α β M _inst_1 f v)) + forall {α : Type.{u2}} {β : Type.{u1}} {M : Type.{u3}} {R : Type.{u4}} {_x : Monoid.{u4} R} [_inst_1 : AddCommMonoid.{u3} M] [_inst_2 : DistribMulAction.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1)] {f : α -> β} (b : R) (v : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.mapDomain.{u2, u1, u3} α β M _inst_1 f (HSMul.hSMul.{u4, max u2 u3, max u2 u3} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (instHSMul.{u4, max u2 u3} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (SMulZeroClass.toSMul.{u4, max u2 u3} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} α M R (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribMulAction.toDistribSMul.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1) _inst_2))))) b v)) (HSMul.hSMul.{u4, max u3 u1, max u1 u3} R (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (instHSMul.{u4, max u1 u3} R (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (SMulZeroClass.toSMul.{u4, max u1 u3} R (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.zero.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u1, u3, u4} β M R (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)) (DistribMulAction.toDistribSMul.{u4, u3} R M _x (AddCommMonoid.toAddMonoid.{u3} M _inst_1) _inst_2))))) b (Finsupp.mapDomain.{u2, u1, u3} α β M _inst_1 f v)) Case conversion may be inaccurate. Consider using '#align finsupp.map_domain_smul Finsupp.mapDomain_smulₓ'. -/ theorem mapDomain_smul {_ : Monoid R} [AddCommMonoid M] [DistribMulAction R M] {f : α → β} (b : R) (v : α →₀ M) : mapDomain f (b • v) = b • mapDomain f v := @@ -2561,9 +2561,9 @@ theorem mapDomain_smul {_ : Monoid R} [AddCommMonoid M] [DistribMulAction R M] { /- warning: finsupp.smul_single -> Finsupp.smul_single is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] (c : R) (a : α) (b : M), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2)))) c (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) a b)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) a (SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2))) c b)) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] (c : R) (a : α) (b : M), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMul.smul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2)))) c (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) a b)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) a (SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2))) c b)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] (c : R) (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (HSMul.hSMul.{u3, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.zero.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u2, u3} α M R (AddMonoid.toZero.{u2} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2))))) c (Finsupp.single.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) a b)) (Finsupp.single.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) a (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2)))) c b)) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} {_x : Monoid.{u3} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u3, u2} R M _x _inst_1] (c : R) (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (HSMul.hSMul.{u3, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.zero.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1)) (Finsupp.smulZeroClass.{u1, u2, u3} α M R (AddMonoid.toZero.{u2} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2))))) c (Finsupp.single.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) a b)) (Finsupp.single.{u1, u2} α M (AddMonoid.toZero.{u2} M _inst_1) a (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u2} R M _x _inst_1 _inst_2)))) c b)) Case conversion may be inaccurate. Consider using '#align finsupp.smul_single Finsupp.smul_singleₓ'. -/ @[simp] theorem smul_single {_ : Monoid R} [AddMonoid M] [DistribMulAction R M] (c : R) (a : α) (b : M) : @@ -2573,9 +2573,9 @@ theorem smul_single {_ : Monoid R} [AddMonoid M] [DistribMulAction R M] (c : R) /- warning: finsupp.smul_single' -> Finsupp.smul_single' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {R : Type.{u2}} {_x : Semiring.{u2} R} (c : R) (a : α) (b : R), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))) (SMul.smul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))) (SMulZeroClass.toHasSmul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))) (Finsupp.hasZero.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))) (Finsupp.smulZeroClass.{u1, u2, u2} α R R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) (SMulWithZero.toSmulZeroClass.{u2, u2} R R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) (MulZeroClass.toSMulWithZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))))) c (Finsupp.single.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) a b)) (Finsupp.single.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) a (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))) c b)) + forall {α : Type.{u1}} {R : Type.{u2}} {_x : Semiring.{u2} R} (c : R) (a : α) (b : R), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))) (SMul.smul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))) (SMulZeroClass.toHasSmul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))) (Finsupp.zero.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))) (Finsupp.smulZeroClass.{u1, u2, u2} α R R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) (SMulWithZero.toSmulZeroClass.{u2, u2} R R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) (MulZeroClass.toSMulWithZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))))) c (Finsupp.single.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) a b)) (Finsupp.single.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) a (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x))))) c b)) but is expected to have type - forall {α : Type.{u1}} {R : Type.{u2}} {_x : Semiring.{u2} R} (c : R) (a : α) (b : R), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (instHSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (Finsupp.zero.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u2, u2} α R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x)) (SMulWithZero.toSMulZeroClass.{u2, u2} R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x)) (MulZeroClass.toSMulWithZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))))))) c (Finsupp.single.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x)) a b)) (Finsupp.single.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x)) a (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) c b)) + forall {α : Type.{u1}} {R : Type.{u2}} {_x : Semiring.{u2} R} (c : R) (a : α) (b : R), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (instHSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (Finsupp.zero.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x))) (Finsupp.smulZeroClass.{u1, u2, u2} α R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x)) (SMulWithZero.toSMulZeroClass.{u2, u2} R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x)) (MulZeroClass.toSMulWithZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))))))) c (Finsupp.single.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x)) a b)) (Finsupp.single.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _x)) a (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _x)))) c b)) Case conversion may be inaccurate. Consider using '#align finsupp.smul_single' Finsupp.smul_single'ₓ'. -/ @[simp] theorem smul_single' {_ : Semiring R} (c : R) (a : α) (b : R) : @@ -2585,9 +2585,9 @@ theorem smul_single' {_ : Semiring R} (c : R) (a : α) (b : R) : /- warning: finsupp.map_range_smul -> Finsupp.mapRange_smul is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} {_x : Monoid.{u4} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u4, u2} R M _x _inst_1] [_inst_3 : AddMonoid.{u3} N] [_inst_4 : DistribMulAction.{u4, u3} R N _x _inst_3] {f : M -> N} {hf : Eq.{succ u3} N (f (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)))))) (OfNat.ofNat.{u3} N 0 (OfNat.mk.{u3} N 0 (Zero.zero.{u3} N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)))))} (c : R) (v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))), (forall (x : M), Eq.{succ u3} N (f (SMul.smul.{u4, u2} R M (SMulZeroClass.toHasSmul.{u4, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u2} R M _x _inst_1 _inst_2))) c x)) (SMul.smul.{u4, u3} R N (SMulZeroClass.toHasSmul.{u4, u3} R N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)) (DistribSMul.toSmulZeroClass.{u4, u3} R N (AddMonoid.toAddZeroClass.{u3} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u3} R N _x _inst_3 _inst_4))) c (f x))) -> (Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)) f hf (SMul.smul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u4} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u2} R M _x _inst_1 _inst_2)))) c v)) (SMul.smul.{u4, max u1 u3} R (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (SMulZeroClass.toHasSmul.{u4, max u1 u3} R (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.hasZero.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.smulZeroClass.{u1, u3, u4} α N R (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)) (DistribSMul.toSmulZeroClass.{u4, u3} R N (AddMonoid.toAddZeroClass.{u3} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u3} R N _x _inst_3 _inst_4)))) c (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)) f hf v))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} {_x : Monoid.{u4} R} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribMulAction.{u4, u2} R M _x _inst_1] [_inst_3 : AddMonoid.{u3} N] [_inst_4 : DistribMulAction.{u4, u3} R N _x _inst_3] {f : M -> N} {hf : Eq.{succ u3} N (f (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)))))) (OfNat.ofNat.{u3} N 0 (OfNat.mk.{u3} N 0 (Zero.zero.{u3} N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)))))} (c : R) (v : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))), (forall (x : M), Eq.{succ u3} N (f (SMul.smul.{u4, u2} R M (SMulZeroClass.toHasSmul.{u4, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u2} R M _x _inst_1 _inst_2))) c x)) (SMul.smul.{u4, u3} R N (SMulZeroClass.toHasSmul.{u4, u3} R N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)) (DistribSMul.toSmulZeroClass.{u4, u3} R N (AddMonoid.toAddZeroClass.{u3} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u3} R N _x _inst_3 _inst_4))) c (f x))) -> (Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)) f hf (SMul.smul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u4} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u2} R M _x _inst_1 _inst_2)))) c v)) (SMul.smul.{u4, max u1 u3} R (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (SMulZeroClass.toHasSmul.{u4, max u1 u3} R (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.zero.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.smulZeroClass.{u1, u3, u4} α N R (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)) (DistribSMul.toSmulZeroClass.{u4, u3} R N (AddMonoid.toAddZeroClass.{u3} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u3} R N _x _inst_3 _inst_4)))) c (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)) f hf v))) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} {R : Type.{u4}} {_x : Monoid.{u4} R} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : DistribMulAction.{u4, u3} R M _x _inst_1] [_inst_3 : AddMonoid.{u2} N] [_inst_4 : DistribMulAction.{u4, u2} R N _x _inst_3] {f : M -> N} {hf : Eq.{succ u2} N (f (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M _inst_1)))) (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (AddMonoid.toZero.{u2} N _inst_3)))} (c : R) (v : Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)), (forall (x : M), Eq.{succ u2} N (f (HSMul.hSMul.{u4, u3, u3} R M M (instHSMul.{u4, u3} R M (SMulZeroClass.toSMul.{u4, u3} R M (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _x _inst_1 _inst_2)))) c x)) (HSMul.hSMul.{u4, u2, u2} R N N (instHSMul.{u4, u2} R N (SMulZeroClass.toSMul.{u4, u2} R N (AddMonoid.toZero.{u2} N _inst_3) (DistribSMul.toSMulZeroClass.{u4, u2} R N (AddMonoid.toAddZeroClass.{u2} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u2} R N _x _inst_3 _inst_4)))) c (f x))) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (Finsupp.mapRange.{u1, u3, u2} α M N (AddMonoid.toZero.{u3} M _inst_1) (AddMonoid.toZero.{u2} N _inst_3) f hf (HSMul.hSMul.{u4, max u1 u3, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (instHSMul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (SMulZeroClass.toSMul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.zero.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u3, u4} α M R (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _x _inst_1 _inst_2))))) c v)) (HSMul.hSMul.{u4, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (instHSMul.{u4, max u1 u2} R (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (SMulZeroClass.toSMul.{u4, max u1 u2} R (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (Finsupp.zero.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u2, u4} α N R (AddMonoid.toZero.{u2} N _inst_3) (DistribSMul.toSMulZeroClass.{u4, u2} R N (AddMonoid.toAddZeroClass.{u2} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u2} R N _x _inst_3 _inst_4))))) c (Finsupp.mapRange.{u1, u3, u2} α M N (AddMonoid.toZero.{u3} M _inst_1) (AddMonoid.toZero.{u2} N _inst_3) f hf v))) + forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} {R : Type.{u4}} {_x : Monoid.{u4} R} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : DistribMulAction.{u4, u3} R M _x _inst_1] [_inst_3 : AddMonoid.{u2} N] [_inst_4 : DistribMulAction.{u4, u2} R N _x _inst_3] {f : M -> N} {hf : Eq.{succ u2} N (f (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M _inst_1)))) (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (AddMonoid.toZero.{u2} N _inst_3)))} (c : R) (v : Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)), (forall (x : M), Eq.{succ u2} N (f (HSMul.hSMul.{u4, u3, u3} R M M (instHSMul.{u4, u3} R M (SMulZeroClass.toSMul.{u4, u3} R M (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _x _inst_1 _inst_2)))) c x)) (HSMul.hSMul.{u4, u2, u2} R N N (instHSMul.{u4, u2} R N (SMulZeroClass.toSMul.{u4, u2} R N (AddMonoid.toZero.{u2} N _inst_3) (DistribSMul.toSMulZeroClass.{u4, u2} R N (AddMonoid.toAddZeroClass.{u2} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u2} R N _x _inst_3 _inst_4)))) c (f x))) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (Finsupp.mapRange.{u1, u3, u2} α M N (AddMonoid.toZero.{u3} M _inst_1) (AddMonoid.toZero.{u2} N _inst_3) f hf (HSMul.hSMul.{u4, max u1 u3, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (instHSMul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (SMulZeroClass.toSMul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.zero.{u1, u3} α M (AddMonoid.toZero.{u3} M _inst_1)) (Finsupp.smulZeroClass.{u1, u3, u4} α M R (AddMonoid.toZero.{u3} M _inst_1) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _x _inst_1 _inst_2))))) c v)) (HSMul.hSMul.{u4, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (instHSMul.{u4, max u1 u2} R (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (SMulZeroClass.toSMul.{u4, max u1 u2} R (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (Finsupp.zero.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_3)) (Finsupp.smulZeroClass.{u1, u2, u4} α N R (AddMonoid.toZero.{u2} N _inst_3) (DistribSMul.toSMulZeroClass.{u4, u2} R N (AddMonoid.toAddZeroClass.{u2} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u2} R N _x _inst_3 _inst_4))))) c (Finsupp.mapRange.{u1, u3, u2} α M N (AddMonoid.toZero.{u3} M _inst_1) (AddMonoid.toZero.{u2} N _inst_3) f hf v))) Case conversion may be inaccurate. Consider using '#align finsupp.map_range_smul Finsupp.mapRange_smulₓ'. -/ theorem mapRange_smul {_ : Monoid R} [AddMonoid M] [DistribMulAction R M] [AddMonoid N] [DistribMulAction R N] {f : M → N} {hf : f 0 = 0} (c : R) (v : α →₀ M) @@ -2602,9 +2602,9 @@ theorem mapRange_smul {_ : Monoid R} [AddMonoid M] [DistribMulAction R M] [AddMo /- warning: finsupp.smul_single_one -> Finsupp.smul_single_one is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] (a : α) (b : R), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (SMul.smul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (SMulZeroClass.toHasSmul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.hasZero.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.smulZeroClass.{u1, u2, u2} α R R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (SMulWithZero.toSmulZeroClass.{u2, u2} R R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (MulZeroClass.toSMulWithZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) b (Finsupp.single.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) a (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))))))))) (Finsupp.single.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) a b) + forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] (a : α) (b : R), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (SMul.smul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (SMulZeroClass.toHasSmul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.zero.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.smulZeroClass.{u1, u2, u2} α R R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (SMulWithZero.toSmulZeroClass.{u2, u2} R R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (MulZeroClass.toSMulWithZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) b (Finsupp.single.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) a (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))))))))) (Finsupp.single.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) a b) but is expected to have type - forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] (a : α) (b : R), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (instHSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.zero.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u2, u2} α R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (SMulWithZero.toSMulZeroClass.{u2, u2} R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (MulZeroClass.toSMulWithZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))) b (Finsupp.single.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) a (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))))) (Finsupp.single.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) a b) + forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] (a : α) (b : R), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (instHSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.zero.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u2} α R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (SMulWithZero.toSMulZeroClass.{u2, u2} R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (MulZeroClass.toSMulWithZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))) b (Finsupp.single.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) a (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))))) (Finsupp.single.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) a b) Case conversion may be inaccurate. Consider using '#align finsupp.smul_single_one Finsupp.smul_single_oneₓ'. -/ theorem smul_single_one [Semiring R] (a : α) (b : R) : b • single a 1 = single a b := by rw [smul_single, smul_eq_mul, mul_one] @@ -2612,9 +2612,9 @@ theorem smul_single_one [Semiring R] (a : α) (b : R) : b • single a 1 = singl /- warning: finsupp.comap_domain_smul -> Finsupp.comapDomain_smul is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {R : Type.{u4}} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : Monoid.{u4} R] [_inst_3 : DistribMulAction.{u4, u3} R M _inst_2 _inst_1] {f : α -> β} (r : R) (v : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (hfv : Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v)))) (hfrv : optParam.{0} (Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v))))) (Set.InjOn.mono.{u1, u2} α β (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v)))) (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v))) f (Set.preimage_mono.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v)) (Iff.mpr (HasSubset.Subset.{u2} (Set.{u2} β) (Set.hasSubset.{u2} β) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v))) (HasSubset.Subset.{u2} (Finset.{u2} β) (Finset.hasSubset.{u2} β) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v)) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v)) (Finset.coe_subset.{u2} β (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v)) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v)) (Finsupp.support_smul.{u2, u3, u4} β M R _inst_2 _inst_1 _inst_3 r v))) hfv)), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) f (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v) hfrv) (SMul.smul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.hasZero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u1, u3, u4} α M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) f v hfv)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {R : Type.{u4}} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : Monoid.{u4} R] [_inst_3 : DistribMulAction.{u4, u3} R M _inst_2 _inst_1] {f : α -> β} (r : R) (v : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (hfv : Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v)))) (hfrv : optParam.{0} (Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v))))) (Set.InjOn.mono.{u1, u2} α β (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v)))) (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v))) f (Set.preimage_mono.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v)) (Iff.mpr (HasSubset.Subset.{u2} (Set.{u2} β) (Set.hasSubset.{u2} β) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v))) (HasSubset.Subset.{u2} (Finset.{u2} β) (Finset.hasSubset.{u2} β) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v)) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v)) (Finset.coe_subset.{u2} β (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v)) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v)) (Finsupp.support_smul.{u2, u3, u4} β M R _inst_2 _inst_1 _inst_3 r v))) hfv)), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) f (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v) hfrv) (SMul.smul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.zero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u1, u3, u4} α M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) f v hfv)) but is expected to have type - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u4}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u4} M] [_inst_2 : Monoid.{u3} R] [_inst_3 : DistribMulAction.{u3, u4} R M _inst_2 _inst_1] {f : α -> β} (r : R) (v : Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (hfv : Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v)))) (hfrv : optParam.{0} (Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v))))) (Set.InjOn.mono.{u2, u1} α β (Set.preimage.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v)))) (Set.preimage.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v))) f (Set.preimage_mono.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v))) (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v)) (Iff.mpr (HasSubset.Subset.{u2} (Set.{u2} β) (Set.instHasSubsetSet.{u2} β) (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v))) (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v))) (HasSubset.Subset.{u2} (Finset.{u2} β) (Finset.instHasSubsetFinset.{u2} β) (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v)) (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v)) (Finset.coe_subset.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v)) (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v)) (Finsupp.support_smul.{u2, u4, u3} β M R _inst_2 _inst_1 _inst_3 r v))) hfv)), Eq.{max (succ u1) (succ u4)} (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.comapDomain.{u1, u2, u4} α β M (AddMonoid.toZero.{u4} M _inst_1) f (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v) hfrv) (HSMul.hSMul.{u3, max u4 u1, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u4, u3} α M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r (Finsupp.comapDomain.{u1, u2, u4} α β M (AddMonoid.toZero.{u4} M _inst_1) f v hfv)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u4}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u4} M] [_inst_2 : Monoid.{u3} R] [_inst_3 : DistribMulAction.{u3, u4} R M _inst_2 _inst_1] {f : α -> β} (r : R) (v : Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (hfv : Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v)))) (hfrv : optParam.{0} (Set.InjOn.{u1, u2} α β f (Set.preimage.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v))))) (Set.InjOn.mono.{u2, u1} α β (Set.preimage.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v)))) (Set.preimage.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v))) f (Set.preimage_mono.{u1, u2} α β f (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v))) (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v)) (Iff.mpr (HasSubset.Subset.{u2} (Set.{u2} β) (Set.instHasSubsetSet.{u2} β) (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v))) (Finset.toSet.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v))) (HasSubset.Subset.{u2} (Finset.{u2} β) (Finset.instHasSubsetFinset.{u2} β) (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v)) (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v)) (Finset.coe_subset.{u2} β (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v)) (Finsupp.support.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v)) (Finsupp.support_smul.{u2, u4, u3} β M R _inst_2 _inst_1 _inst_3 r v))) hfv)), Eq.{max (succ u1) (succ u4)} (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.comapDomain.{u1, u2, u4} α β M (AddMonoid.toZero.{u4} M _inst_1) f (HSMul.hSMul.{u3, max u2 u4, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u2, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v) hfrv) (HSMul.hSMul.{u3, max u4 u1, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u1, u4, u3} α M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r (Finsupp.comapDomain.{u1, u2, u4} α β M (AddMonoid.toZero.{u4} M _inst_1) f v hfv)) Case conversion may be inaccurate. Consider using '#align finsupp.comap_domain_smul Finsupp.comapDomain_smulₓ'. -/ theorem comapDomain_smul [AddMonoid M] [Monoid R] [DistribMulAction R M] {f : α → β} (r : R) (v : β →₀ M) (hfv : Set.InjOn f (f ⁻¹' ↑v.support)) @@ -2628,9 +2628,9 @@ theorem comapDomain_smul [AddMonoid M] [Monoid R] [DistribMulAction R M] {f : α /- warning: finsupp.comap_domain_smul_of_injective -> Finsupp.comapDomain_smul_of_injective is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {R : Type.{u4}} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : Monoid.{u4} R] [_inst_3 : DistribMulAction.{u4, u3} R M _inst_2 _inst_1] {f : α -> β} (hf : Function.Injective.{succ u1, succ u2} α β f) (r : R) (v : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) f (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v) (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.hasZero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v)))))) (SMul.smul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.hasZero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u1, u3, u4} α M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) f v (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v)))))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {R : Type.{u4}} [_inst_1 : AddMonoid.{u3} M] [_inst_2 : Monoid.{u4} R] [_inst_3 : DistribMulAction.{u4, u3} R M _inst_2 _inst_1] {f : α -> β} (hf : Function.Injective.{succ u1, succ u2} α β f) (r : R) (v : Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) f (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v) (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (SMul.smul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u2 u3} R (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.zero.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u2, u3, u4} β M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r v)))))) (SMul.smul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.zero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1))) (Finsupp.smulZeroClass.{u1, u3, u4} α M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_1) (DistribMulAction.toDistribSMul.{u4, u3} R M _inst_2 _inst_1 _inst_3)))) r (Finsupp.comapDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) f v (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u1, u2} α β f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} β) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} β) (Set.{u2} β) (Finset.Set.hasCoeT.{u2} β))) (Finsupp.support.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_1)) v)))))) but is expected to have type - forall {α : Type.{u2}} {β : Type.{u1}} {M : Type.{u4}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u4} M] [_inst_2 : Monoid.{u3} R] [_inst_3 : DistribMulAction.{u3, u4} R M _inst_2 _inst_1] {f : α -> β} (hf : Function.Injective.{succ u2, succ u1} α β f) (r : R) (v : Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)), Eq.{max (succ u2) (succ u4)} (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.comapDomain.{u2, u1, u4} α β M (AddMonoid.toZero.{u4} M _inst_1) f (HSMul.hSMul.{u3, max u1 u4, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v) (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u2, u1} α β f (Finset.toSet.{u1} β (Finsupp.support.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u1 u4, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v)))))) (HSMul.hSMul.{u3, max u4 u2, max u2 u4} R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u2, u4, u3} α M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r (Finsupp.comapDomain.{u2, u1, u4} α β M (AddMonoid.toZero.{u4} M _inst_1) f v (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u2, u1} α β f (Finset.toSet.{u1} β (Finsupp.support.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v)))))) + forall {α : Type.{u2}} {β : Type.{u1}} {M : Type.{u4}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u4} M] [_inst_2 : Monoid.{u3} R] [_inst_3 : DistribMulAction.{u3, u4} R M _inst_2 _inst_1] {f : α -> β} (hf : Function.Injective.{succ u2, succ u1} α β f) (r : R) (v : Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)), Eq.{max (succ u2) (succ u4)} (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.comapDomain.{u2, u1, u4} α β M (AddMonoid.toZero.{u4} M _inst_1) f (HSMul.hSMul.{u3, max u1 u4, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u1, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v) (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u2, u1} α β f (Finset.toSet.{u1} β (Finsupp.support.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1) (HSMul.hSMul.{u3, max u1 u4, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u1, u4, u3} β M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r v)))))) (HSMul.hSMul.{u3, max u4 u2, max u2 u4} R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u2 u4} R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u2, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u2, u4, u3} α M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) (DistribMulAction.toDistribSMul.{u3, u4} R M _inst_2 _inst_1 _inst_3))))) r (Finsupp.comapDomain.{u2, u1, u4} α β M (AddMonoid.toZero.{u4} M _inst_1) f v (Function.Injective.injOn.{u1, u2} α β f hf (Set.preimage.{u2, u1} α β f (Finset.toSet.{u1} β (Finsupp.support.{u1, u4} β M (AddMonoid.toZero.{u4} M _inst_1) v)))))) Case conversion may be inaccurate. Consider using '#align finsupp.comap_domain_smul_of_injective Finsupp.comapDomain_smul_of_injectiveₓ'. -/ /-- A version of `finsupp.comap_domain_smul` that's easier to use. -/ theorem comapDomain_smul_of_injective [AddMonoid M] [Monoid R] [DistribMulAction R M] {f : α → β} @@ -2643,9 +2643,9 @@ end /- warning: finsupp.sum_smul_index -> Finsupp.sum_smul_index is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] {g : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))} {b : R} {h : α -> R -> M}, (forall (i : α), Eq.{succ u2} M (h i (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))))) (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_2))))))) -> (Eq.{succ u2} M (Finsupp.sum.{u1, u3, u2} α R M (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (SMul.smul.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (SMulZeroClass.toHasSmul.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Finsupp.hasZero.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Finsupp.smulZeroClass.{u1, u3, u3} α R R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u3} R R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (MulZeroClass.toSMulWithZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))))) b g) h) (Finsupp.sum.{u1, u3, u2} α R M (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 g (fun (i : α) (a : R) => h i (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) b a)))) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] {g : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))} {b : R} {h : α -> R -> M}, (forall (i : α), Eq.{succ u2} M (h i (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))))) (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_2))))))) -> (Eq.{succ u2} M (Finsupp.sum.{u1, u3, u2} α R M (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (SMul.smul.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (SMulZeroClass.toHasSmul.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Finsupp.zero.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Finsupp.smulZeroClass.{u1, u3, u3} α R R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u3} R R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (MulZeroClass.toSMulWithZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))))) b g) h) (Finsupp.sum.{u1, u3, u2} α R M (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 g (fun (i : α) (a : R) => h i (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) b a)))) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] {g : Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))} {b : R} {h : α -> R -> M}, (forall (i : α), Eq.{succ u2} M (h i (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))) -> (Eq.{succ u2} M (Finsupp.sum.{u1, u3, u2} α R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) _inst_2 (HSMul.hSMul.{u3, max u1 u3, max u1 u3} R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (instHSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.zero.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u3, u3} α R R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (SMulWithZero.toSMulZeroClass.{u3, u3} R R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (MulZeroClass.toSMulWithZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))))) b g) h) (Finsupp.sum.{u1, u3, u2} α R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) _inst_2 g (fun (i : α) (a : R) => h i (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) b a)))) + forall {α : Type.{u1}} {M : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] {g : Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))} {b : R} {h : α -> R -> M}, (forall (i : α), Eq.{succ u2} M (h i (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))) -> (Eq.{succ u2} M (Finsupp.sum.{u1, u3, u2} α R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) _inst_2 (HSMul.hSMul.{u3, max u1 u3, max u1 u3} R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (instHSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.zero.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.smulZeroClass.{u1, u3, u3} α R R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (SMulWithZero.toSMulZeroClass.{u3, u3} R R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (MulZeroClass.toSMulWithZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))))) b g) h) (Finsupp.sum.{u1, u3, u2} α R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) _inst_2 g (fun (i : α) (a : R) => h i (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) b a)))) Case conversion may be inaccurate. Consider using '#align finsupp.sum_smul_index Finsupp.sum_smul_indexₓ'. -/ theorem sum_smul_index [Semiring R] [AddCommMonoid M] {g : α →₀ R} {b : R} {h : α → R → M} (h0 : ∀ i, h i 0 = 0) : (b • g).Sum h = g.Sum fun i a => h i (b * a) := @@ -2654,9 +2654,9 @@ theorem sum_smul_index [Semiring R] [AddCommMonoid M] {g : α →₀ R} {b : R} /- warning: finsupp.sum_smul_index' -> Finsupp.sum_smul_index' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribSMul.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1)] [_inst_3 : AddCommMonoid.{u3} N] {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))} {b : R} {h : α -> M -> N}, (forall (i : α), Eq.{succ u3} N (h i (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)))))) (OfNat.ofNat.{u3} N 0 (OfNat.mk.{u3} N 0 (Zero.zero.{u3} N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_3))))))) -> (Eq.{succ u3} N (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) _inst_3 (SMul.smul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u4} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2))) b g) h) (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) _inst_3 g (fun (i : α) (c : M) => h i (SMul.smul.{u4, u2} R M (SMulZeroClass.toHasSmul.{u4, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2)) b c)))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : DistribSMul.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1)] [_inst_3 : AddCommMonoid.{u3} N] {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))} {b : R} {h : α -> M -> N}, (forall (i : α), Eq.{succ u3} N (h i (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)))))) (OfNat.ofNat.{u3} N 0 (OfNat.mk.{u3} N 0 (Zero.zero.{u3} N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_3))))))) -> (Eq.{succ u3} N (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) _inst_3 (SMul.smul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u4} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2))) b g) h) (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) _inst_3 g (fun (i : α) (c : M) => h i (SMul.smul.{u4, u2} R M (SMulZeroClass.toHasSmul.{u4, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_2)) b c)))) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u4}} {N : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u4} M] [_inst_2 : DistribSMul.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1)] [_inst_3 : AddCommMonoid.{u2} N] {g : Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)} {b : R} {h : α -> M -> N}, (forall (i : α), Eq.{succ u2} N (h i (OfNat.ofNat.{u4} M 0 (Zero.toOfNat0.{u4} M (AddMonoid.toZero.{u4} M _inst_1)))) (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_3))))) -> (Eq.{succ u2} N (Finsupp.sum.{u1, u4, u2} α M N (AddMonoid.toZero.{u4} M _inst_1) _inst_3 (HSMul.hSMul.{u3, max u1 u4, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u4, u3} α M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) _inst_2)))) b g) h) (Finsupp.sum.{u1, u4, u2} α M N (AddMonoid.toZero.{u4} M _inst_1) _inst_3 g (fun (i : α) (c : M) => h i (HSMul.hSMul.{u3, u4, u4} R M M (instHSMul.{u3, u4} R M (SMulZeroClass.toSMul.{u3, u4} R M (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) _inst_2))) b c)))) + forall {α : Type.{u1}} {M : Type.{u4}} {N : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u4} M] [_inst_2 : DistribSMul.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1)] [_inst_3 : AddCommMonoid.{u2} N] {g : Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)} {b : R} {h : α -> M -> N}, (forall (i : α), Eq.{succ u2} N (h i (OfNat.ofNat.{u4} M 0 (Zero.toOfNat0.{u4} M (AddMonoid.toZero.{u4} M _inst_1)))) (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_3))))) -> (Eq.{succ u2} N (Finsupp.sum.{u1, u4, u2} α M N (AddMonoid.toZero.{u4} M _inst_1) _inst_3 (HSMul.hSMul.{u3, max u1 u4, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u1, u4, u3} α M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) _inst_2)))) b g) h) (Finsupp.sum.{u1, u4, u2} α M N (AddMonoid.toZero.{u4} M _inst_1) _inst_3 g (fun (i : α) (c : M) => h i (HSMul.hSMul.{u3, u4, u4} R M M (instHSMul.{u3, u4} R M (SMulZeroClass.toSMul.{u3, u4} R M (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) _inst_2))) b c)))) Case conversion may be inaccurate. Consider using '#align finsupp.sum_smul_index' Finsupp.sum_smul_index'ₓ'. -/ theorem sum_smul_index' [AddMonoid M] [DistribSMul R M] [AddCommMonoid N] {g : α →₀ M} {b : R} {h : α → M → N} (h0 : ∀ i, h i 0 = 0) : (b • g).Sum h = g.Sum fun i c => h i (b • c) := @@ -2665,9 +2665,9 @@ theorem sum_smul_index' [AddMonoid M] [DistribSMul R M] [AddCommMonoid N] {g : /- warning: finsupp.sum_smul_index_add_monoid_hom -> Finsupp.sum_smul_index_addMonoidHom is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : DistribSMul.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1)] {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))} {b : R} {h : α -> (AddMonoidHom.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))}, Eq.{succ u3} N (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) _inst_2 (SMul.smul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u4} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_3))) b g) (fun (a : α) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (fun (_x : AddMonoidHom.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) => M -> N) (AddMonoidHom.hasCoeToFun.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (h a))) (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) _inst_2 g (fun (i : α) (c : M) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (fun (_x : AddMonoidHom.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) => M -> N) (AddMonoidHom.hasCoeToFun.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (h i) (SMul.smul.{u4, u2} R M (SMulZeroClass.toHasSmul.{u4, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_3)) b c))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : AddMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : DistribSMul.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1)] {g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))} {b : R} {h : α -> (AddMonoidHom.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))}, Eq.{succ u3} N (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) _inst_2 (SMul.smul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (SMulZeroClass.toHasSmul.{u4, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1))) (Finsupp.smulZeroClass.{u1, u2, u4} α M R (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_3))) b g) (fun (a : α) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (fun (_x : AddMonoidHom.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) => M -> N) (AddMonoidHom.hasCoeToFun.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (h a))) (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) _inst_2 g (fun (i : α) (c : M) => coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (fun (_x : AddMonoidHom.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) => M -> N) (AddMonoidHom.hasCoeToFun.{u2, u3} M N (AddMonoid.toAddZeroClass.{u2} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (h i) (SMul.smul.{u4, u2} R M (SMulZeroClass.toHasSmul.{u4, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_1)) (DistribSMul.toSmulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_1) _inst_3)) b c))) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u4}} {N : Type.{u3}} {R : Type.{u2}} [_inst_1 : AddMonoid.{u4} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : DistribSMul.{u2, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1)] {g : Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)} {b : R} {h : α -> (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))}, Eq.{succ u3} N (Finsupp.sum.{u1, u4, u3} α M N (AddMonoid.toZero.{u4} M _inst_1) _inst_2 (HSMul.hSMul.{u2, max u1 u4, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u2, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u2, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u4, u2} α M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) _inst_3)))) b g) (fun (a : α) => FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => N) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M N (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M _inst_1)) (AddZeroClass.toAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (AddMonoidHom.addMonoidHomClass.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))))) (h a))) (Finsupp.sum.{u1, u4, u3} α M N (AddMonoid.toZero.{u4} M _inst_1) _inst_2 g (fun (i : α) (c : M) => FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => N) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M N (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M _inst_1)) (AddZeroClass.toAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (AddMonoidHom.addMonoidHomClass.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))))) (h i) (HSMul.hSMul.{u2, u4, u4} R M M (instHSMul.{u2, u4} R M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) _inst_3))) b c))) + forall {α : Type.{u1}} {M : Type.{u4}} {N : Type.{u3}} {R : Type.{u2}} [_inst_1 : AddMonoid.{u4} M] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : DistribSMul.{u2, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1)] {g : Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)} {b : R} {h : α -> (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)))}, Eq.{succ u3} N (Finsupp.sum.{u1, u4, u3} α M N (AddMonoid.toZero.{u4} M _inst_1) _inst_2 (HSMul.hSMul.{u2, max u1 u4, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (instHSMul.{u2, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (SMulZeroClass.toSMul.{u2, max u1 u4} R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.zero.{u1, u4} α M (AddMonoid.toZero.{u4} M _inst_1)) (Finsupp.smulZeroClass.{u1, u4, u2} α M R (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) _inst_3)))) b g) (fun (a : α) => FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => N) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M N (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M _inst_1)) (AddZeroClass.toAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (AddMonoidHom.addMonoidHomClass.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))))) (h a))) (Finsupp.sum.{u1, u4, u3} α M N (AddMonoid.toZero.{u4} M _inst_1) _inst_2 g (fun (i : α) (c : M) => FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => N) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M N (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M _inst_1)) (AddZeroClass.toAdd.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))) M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2)) (AddMonoidHom.addMonoidHomClass.{u4, u3} M N (AddMonoid.toAddZeroClass.{u4} M _inst_1) (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_2))))) (h i) (HSMul.hSMul.{u2, u4, u4} R M M (instHSMul.{u2, u4} R M (SMulZeroClass.toSMul.{u2, u4} R M (AddMonoid.toZero.{u4} M _inst_1) (DistribSMul.toSMulZeroClass.{u2, u4} R M (AddMonoid.toAddZeroClass.{u4} M _inst_1) _inst_3))) b c))) Case conversion may be inaccurate. Consider using '#align finsupp.sum_smul_index_add_monoid_hom Finsupp.sum_smul_index_addMonoidHomₓ'. -/ /-- A version of `finsupp.sum_smul_index'` for bundled additive maps. -/ theorem sum_smul_index_addMonoidHom [AddMonoid M] [AddCommMonoid N] [DistribSMul R M] {g : α →₀ M} @@ -2788,7 +2788,7 @@ def restrictSupportEquiv (s : Set α) (M : Type _) [AddCommMonoid M] : /- warning: finsupp.dom_congr -> Finsupp.domCongr is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], (Equiv.{succ u1, succ u2} α β) -> (AddEquiv.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasAdd.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.hasAdd.{u2, u3} β M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], (Equiv.{succ u1, succ u2} α β) -> (AddEquiv.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.add.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u2, u3} β M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) but is expected to have type forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M], (Equiv.{succ u1, succ u2} α β) -> (AddEquiv.{max u3 u1, max u3 u2} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.{u2, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u2, u3} β M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.dom_congr Finsupp.domCongrₓ'. -/ @@ -2813,7 +2813,7 @@ protected def domCongr [AddCommMonoid M] (e : α ≃ β) : (α →₀ M) ≃+ ( /- warning: finsupp.dom_congr_refl -> Finsupp.domCongr_refl is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M], Eq.{succ (max u1 u2)} (AddEquiv.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.domCongr.{u1, u1, u2} α α M _inst_1 (Equiv.refl.{succ u1} α)) (AddEquiv.refl.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M], Eq.{succ (max u1 u2)} (AddEquiv.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.domCongr.{u1, u1, u2} α α M _inst_1 (Equiv.refl.{succ u1} α)) (AddEquiv.refl.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) but is expected to have type forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M], Eq.{max (succ u1) (succ u2)} (AddEquiv.{max u2 u1, max u2 u1} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.domCongr.{u1, u1, u2} α α M _inst_1 (Equiv.refl.{succ u1} α)) (AddEquiv.refl.{max u2 u1} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.dom_congr_refl Finsupp.domCongr_reflₓ'. -/ @@ -2825,7 +2825,7 @@ theorem domCongr_refl [AddCommMonoid M] : /- warning: finsupp.dom_congr_symm -> Finsupp.domCongr_symm is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (e : Equiv.{succ u1, succ u2} α β), Eq.{max (succ (max u2 u3)) (succ (max u1 u3))} (AddEquiv.{max u2 u3, max u1 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasAdd.{u2, u3} β M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.hasAdd.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (AddEquiv.symm.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.hasAdd.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.hasAdd.{u2, u3} β M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.domCongr.{u1, u2, u3} α β M _inst_1 e)) (Finsupp.domCongr.{u2, u1, u3} β α M _inst_1 (Equiv.symm.{succ u1, succ u2} α β e)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (e : Equiv.{succ u1, succ u2} α β), Eq.{max (succ (max u2 u3)) (succ (max u1 u3))} (AddEquiv.{max u2 u3, max u1 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.add.{u2, u3} β M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (AddEquiv.symm.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (Finsupp.add.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u2, u3} β M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.domCongr.{u1, u2, u3} α β M _inst_1 e)) (Finsupp.domCongr.{u2, u1, u3} β α M _inst_1 (Equiv.symm.{succ u1, succ u2} α β e)) but is expected to have type forall {α : Type.{u2}} {β : Type.{u1}} {M : Type.{u3}} [_inst_1 : AddCommMonoid.{u3} M] (e : Equiv.{succ u2, succ u1} α β), Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AddEquiv.{max u1 u3, max u2 u3} (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u1, u3} β M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u2, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1)))) (AddEquiv.symm.{max u2 u3, max u1 u3} (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.{u1, u3} β M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u2, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.add.{u1, u3} β M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_1))) (Finsupp.domCongr.{u2, u1, u3} α β M _inst_1 e)) (Finsupp.domCongr.{u1, u2, u3} β α M _inst_1 (Equiv.symm.{succ u2, succ u1} α β e)) Case conversion may be inaccurate. Consider using '#align finsupp.dom_congr_symm Finsupp.domCongr_symmₓ'. -/ @@ -2837,7 +2837,7 @@ theorem domCongr_symm [AddCommMonoid M] (e : α ≃ β) : /- warning: finsupp.dom_congr_trans -> Finsupp.domCongr_trans is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {M : Type.{u4}} [_inst_1 : AddCommMonoid.{u4} M] (e : Equiv.{succ u1, succ u2} α β) (f : Equiv.{succ u2, succ u3} β γ), Eq.{max (succ (max u1 u4)) (succ (max u3 u4))} (AddEquiv.{max u1 u4, max u3 u4} (Finsupp.{u1, u4} α M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (Finsupp.{u3, u4} γ M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (Finsupp.hasAdd.{u1, u4} α M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.hasAdd.{u3, u4} γ M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (AddEquiv.trans.{max u1 u4, max u2 u4, max u3 u4} (Finsupp.{u1, u4} α M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (Finsupp.{u3, u4} γ M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (Finsupp.hasAdd.{u1, u4} α M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.hasAdd.{u2, u4} β M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.hasAdd.{u3, u4} γ M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.domCongr.{u1, u2, u4} α β M _inst_1 e) (Finsupp.domCongr.{u2, u3, u4} β γ M _inst_1 f)) (Finsupp.domCongr.{u1, u3, u4} α γ M _inst_1 (Equiv.trans.{succ u1, succ u2, succ u3} α β γ e f)) + forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {M : Type.{u4}} [_inst_1 : AddCommMonoid.{u4} M] (e : Equiv.{succ u1, succ u2} α β) (f : Equiv.{succ u2, succ u3} β γ), Eq.{max (succ (max u1 u4)) (succ (max u3 u4))} (AddEquiv.{max u1 u4, max u3 u4} (Finsupp.{u1, u4} α M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (Finsupp.{u3, u4} γ M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (Finsupp.add.{u1, u4} α M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.add.{u3, u4} γ M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (AddEquiv.trans.{max u1 u4, max u2 u4, max u3 u4} (Finsupp.{u1, u4} α M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (Finsupp.{u3, u4} γ M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (Finsupp.add.{u1, u4} α M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.add.{u2, u4} β M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.add.{u3, u4} γ M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.domCongr.{u1, u2, u4} α β M _inst_1 e) (Finsupp.domCongr.{u2, u3, u4} β γ M _inst_1 f)) (Finsupp.domCongr.{u1, u3, u4} α γ M _inst_1 (Equiv.trans.{succ u1, succ u2, succ u3} α β γ e f)) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {M : Type.{u4}} [_inst_1 : AddCommMonoid.{u4} M] (e : Equiv.{succ u3, succ u2} α β) (f : Equiv.{succ u2, succ u1} β γ), Eq.{max (max (succ u3) (succ u1)) (succ u4)} (AddEquiv.{max u3 u4, max u4 u1} (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.{u1, u4} γ M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.add.{u3, u4} α M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.add.{u1, u4} γ M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1)))) (AddEquiv.trans.{max u3 u4, max u2 u4, max u4 u1} (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.{u1, u4} γ M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.add.{u3, u4} α M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.add.{u2, u4} β M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.add.{u1, u4} γ M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_1))) (Finsupp.domCongr.{u3, u2, u4} α β M _inst_1 e) (Finsupp.domCongr.{u2, u1, u4} β γ M _inst_1 f)) (Finsupp.domCongr.{u3, u1, u4} α γ M _inst_1 (Equiv.trans.{succ u3, succ u2, succ u1} α β γ e f)) Case conversion may be inaccurate. Consider using '#align finsupp.dom_congr_trans Finsupp.domCongr_transₓ'. -/ @@ -2873,7 +2873,7 @@ def split (i : ι) : αs i →₀ M := /- warning: finsupp.split_apply -> Finsupp.split_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} {αs : ι -> Type.{u3}} [_inst_1 : Zero.{u2} M] (l : Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) M _inst_1) (i : ι) (x : αs i), Eq.{succ u2} M (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} ((fun (i : ι) => αs i) i) M _inst_1) (fun (_x : Finsupp.{u3, u2} ((fun (i : ι) => αs i) i) M _inst_1) => (αs i) -> M) (Finsupp.hasCoeToFun.{u3, u2} ((fun (i : ι) => αs i) i) M _inst_1) (Finsupp.split.{u1, u2, u3} ι M (fun (i : ι) => αs i) _inst_1 l i) x) (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) M _inst_1) (fun (_x : Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) M _inst_1) => (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) -> M) (Finsupp.hasCoeToFun.{max u1 u3, u2} (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) M _inst_1) l (Sigma.mk.{u1, u3} ι (fun (i : ι) => αs i) i x)) + forall {ι : Type.{u1}} {M : Type.{u2}} {αs : ι -> Type.{u3}} [_inst_1 : Zero.{u2} M] (l : Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) M _inst_1) (i : ι) (x : αs i), Eq.{succ u2} M (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} ((fun (i : ι) => αs i) i) M _inst_1) (fun (_x : Finsupp.{u3, u2} ((fun (i : ι) => αs i) i) M _inst_1) => (αs i) -> M) (Finsupp.coeFun.{u3, u2} ((fun (i : ι) => αs i) i) M _inst_1) (Finsupp.split.{u1, u2, u3} ι M (fun (i : ι) => αs i) _inst_1 l i) x) (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) M _inst_1) (fun (_x : Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) M _inst_1) => (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) -> M) (Finsupp.coeFun.{max u1 u3, u2} (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) M _inst_1) l (Sigma.mk.{u1, u3} ι (fun (i : ι) => αs i) i x)) but is expected to have type forall {ι : Type.{u1}} {M : Type.{u3}} {αs : ι -> Type.{u2}} [_inst_1 : Zero.{u3} M] (l : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => αs i)) M _inst_1) (i : ι) (x : αs i), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : αs i) => M) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Finsupp.{u2, u3} (αs i) M _inst_1) (αs i) (fun (_x : αs i) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : αs i) => M) _x) (Finsupp.funLike.{u2, u3} (αs i) M _inst_1) (Finsupp.split.{u1, u3, u2} ι M (fun (i : ι) => αs i) _inst_1 l i) x) (FunLike.coe.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2), succ u3} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => αs i)) M _inst_1) (Sigma.{u1, u2} ι (fun (i : ι) => αs i)) (fun (_x : Sigma.{u1, u2} ι (fun (i : ι) => αs i)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u2} ι (fun (i : ι) => αs i)) => M) _x) (Finsupp.funLike.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => αs i)) M _inst_1) l (Sigma.mk.{u1, u2} ι (fun (i : ι) => αs i) i x)) Case conversion may be inaccurate. Consider using '#align finsupp.split_apply Finsupp.split_applyₓ'. -/ @@ -2894,7 +2894,7 @@ def splitSupport (l : (Σi, αs i) →₀ M) : Finset ι := /- warning: finsupp.mem_split_support_iff_nonzero -> Finsupp.mem_splitSupport_iff_nonzero is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} {αs : ι -> Type.{u3}} [_inst_1 : Zero.{u2} M] (l : Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) M _inst_1) (i : ι), Iff (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i (Finsupp.splitSupport.{u1, u2, u3} ι M (fun (i : ι) => αs i) _inst_1 l)) (Ne.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} (αs i) M _inst_1) (Finsupp.split.{u1, u2, u3} ι M (fun (i : ι) => αs i) _inst_1 l i) (OfNat.ofNat.{max u3 u2} (Finsupp.{u3, u2} (αs i) M _inst_1) 0 (OfNat.mk.{max u3 u2} (Finsupp.{u3, u2} (αs i) M _inst_1) 0 (Zero.zero.{max u3 u2} (Finsupp.{u3, u2} (αs i) M _inst_1) (Finsupp.hasZero.{u3, u2} (αs i) M _inst_1))))) + forall {ι : Type.{u1}} {M : Type.{u2}} {αs : ι -> Type.{u3}} [_inst_1 : Zero.{u2} M] (l : Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} ι (fun (i : ι) => αs i)) M _inst_1) (i : ι), Iff (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i (Finsupp.splitSupport.{u1, u2, u3} ι M (fun (i : ι) => αs i) _inst_1 l)) (Ne.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} (αs i) M _inst_1) (Finsupp.split.{u1, u2, u3} ι M (fun (i : ι) => αs i) _inst_1 l i) (OfNat.ofNat.{max u3 u2} (Finsupp.{u3, u2} (αs i) M _inst_1) 0 (OfNat.mk.{max u3 u2} (Finsupp.{u3, u2} (αs i) M _inst_1) 0 (Zero.zero.{max u3 u2} (Finsupp.{u3, u2} (αs i) M _inst_1) (Finsupp.zero.{u3, u2} (αs i) M _inst_1))))) but is expected to have type forall {ι : Type.{u3}} {M : Type.{u2}} {αs : ι -> Type.{u1}} [_inst_1 : Zero.{u2} M] (l : Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => αs i)) M _inst_1) (i : ι), Iff (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i (Finsupp.splitSupport.{u3, u2, u1} ι M (fun (i : ι) => αs i) _inst_1 l)) (Ne.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (αs i) M _inst_1) (Finsupp.split.{u3, u2, u1} ι M (fun (i : ι) => αs i) _inst_1 l i) (OfNat.ofNat.{max u2 u1} (Finsupp.{u1, u2} (αs i) M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u1, u2} (αs i) M _inst_1) (Finsupp.zero.{u1, u2} (αs i) M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.mem_split_support_iff_nonzero Finsupp.mem_splitSupport_iff_nonzeroₓ'. -/ @@ -2976,7 +2976,7 @@ theorem sigmaFinsuppEquivPiFinsupp_apply (f : (Σj, ιs j) →₀ α) (j i) : /- warning: finsupp.sigma_finsupp_add_equiv_pi_finsupp -> Finsupp.sigmaFinsuppAddEquivPiFinsupp is a dubious translation: lean 3 declaration is - forall {η : Type.{u1}} [_inst_2 : Fintype.{u1} η] {α : Type.{u2}} {ιs : η -> Type.{u3}} [_inst_4 : AddMonoid.{u2} α], AddEquiv.{max (max u1 u3) u2, max u1 u3 u2} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (forall (j : η), Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (Finsupp.hasAdd.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (i : η) => Finsupp.hasAdd.{u3, u2} (ιs i) α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) + forall {η : Type.{u1}} [_inst_2 : Fintype.{u1} η] {α : Type.{u2}} {ιs : η -> Type.{u3}} [_inst_4 : AddMonoid.{u2} α], AddEquiv.{max (max u1 u3) u2, max u1 u3 u2} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (forall (j : η), Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (Finsupp.add.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (i : η) => Finsupp.add.{u3, u2} (ιs i) α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) but is expected to have type forall {η : Type.{u1}} [_inst_2 : Fintype.{u1} η] {α : Type.{u2}} {ιs : η -> Type.{u3}} [_inst_4 : AddMonoid.{u2} α], AddEquiv.{max u2 u3 u1, max (max u1 u2) u3} (Finsupp.{max u3 u1, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u2} α _inst_4)) (forall (j : η), Finsupp.{u3, u2} (ιs j) α (AddMonoid.toZero.{u2} α _inst_4)) (Finsupp.add.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)) (Pi.instAdd.{u1, max u2 u3} η (fun (j : η) => Finsupp.{u3, u2} (ιs j) α (AddMonoid.toZero.{u2} α _inst_4)) (fun (i : η) => Finsupp.add.{u3, u2} (ιs i) α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) Case conversion may be inaccurate. Consider using '#align finsupp.sigma_finsupp_add_equiv_pi_finsupp Finsupp.sigmaFinsuppAddEquivPiFinsuppₓ'. -/ @@ -2995,7 +2995,7 @@ noncomputable def sigmaFinsuppAddEquivPiFinsupp {α : Type _} {ιs : η → Type /- warning: finsupp.sigma_finsupp_add_equiv_pi_finsupp_apply -> Finsupp.sigmaFinsuppAddEquivPiFinsupp_apply is a dubious translation: lean 3 declaration is - forall {η : Type.{u1}} [_inst_2 : Fintype.{u1} η] {α : Type.{u2}} {ιs : η -> Type.{u3}} [_inst_4 : AddMonoid.{u2} α] (f : Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (j : η) (i : ιs j), Eq.{succ u2} α (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (_x : Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) => (ιs j) -> α) (Finsupp.hasCoeToFun.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (coeFn.{max (succ (max (max u1 u3) u2)) (succ (max u1 u3 u2)), max (succ (max (max u1 u3) u2)) (succ (max u1 u3 u2))} (AddEquiv.{max (max u1 u3) u2, max u1 u3 u2} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (forall (j : η), Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (Finsupp.hasAdd.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (i : η) => Finsupp.hasAdd.{u3, u2} (ιs i) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)))) (fun (_x : AddEquiv.{max (max u1 u3) u2, max u1 u3 u2} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (forall (j : η), Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (Finsupp.hasAdd.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (i : η) => Finsupp.hasAdd.{u3, u2} (ιs i) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)))) => (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) -> (forall (j : η), Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4)))) (AddEquiv.hasCoeToFun.{max (max u1 u3) u2, max u1 u3 u2} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (forall (j : η), Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (Finsupp.hasAdd.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (i : η) => Finsupp.hasAdd.{u3, u2} (ιs i) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)))) (Finsupp.sigmaFinsuppAddEquivPiFinsupp.{u1, u2, u3} η _inst_2 α (fun (j : η) => ιs j) _inst_4) f j) i) (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (_x : Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) => (Sigma.{u1, u3} η (fun (j : η) => ιs j)) -> α) (Finsupp.hasCoeToFun.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) f (Sigma.mk.{u1, u3} η (fun (j : η) => ιs j) j i)) + forall {η : Type.{u1}} [_inst_2 : Fintype.{u1} η] {α : Type.{u2}} {ιs : η -> Type.{u3}} [_inst_4 : AddMonoid.{u2} α] (f : Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (j : η) (i : ιs j), Eq.{succ u2} α (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (_x : Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) => (ιs j) -> α) (Finsupp.coeFun.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (coeFn.{max (succ (max (max u1 u3) u2)) (succ (max u1 u3 u2)), max (succ (max (max u1 u3) u2)) (succ (max u1 u3 u2))} (AddEquiv.{max (max u1 u3) u2, max u1 u3 u2} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (forall (j : η), Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (Finsupp.add.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (i : η) => Finsupp.add.{u3, u2} (ιs i) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)))) (fun (_x : AddEquiv.{max (max u1 u3) u2, max u1 u3 u2} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (forall (j : η), Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (Finsupp.add.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (i : η) => Finsupp.add.{u3, u2} (ιs i) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)))) => (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) -> (forall (j : η), Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4)))) (AddEquiv.hasCoeToFun.{max (max u1 u3) u2, max u1 u3 u2} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (forall (j : η), Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (Finsupp.add.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u3, u2} (ιs j) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (i : η) => Finsupp.add.{u3, u2} (ιs i) α (AddMonoid.toAddZeroClass.{u2} α _inst_4)))) (Finsupp.sigmaFinsuppAddEquivPiFinsupp.{u1, u2, u3} η _inst_2 α (fun (j : η) => ιs j) _inst_4) f j) i) (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) (fun (_x : Finsupp.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) => (Sigma.{u1, u3} η (fun (j : η) => ιs j)) -> α) (Finsupp.coeFun.{max u1 u3, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α _inst_4))) f (Sigma.mk.{u1, u3} η (fun (j : η) => ιs j) j i)) but is expected to have type forall {η : Type.{u1}} [_inst_2 : Fintype.{u1} η] {α : Type.{u3}} {ιs : η -> Type.{u2}} [_inst_4 : AddMonoid.{u3} α] (f : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) (j : η) (i : ιs j), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ιs j) => α) i) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (ιs j) (fun (_x : ιs j) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ιs j) => α) _x) (Finsupp.funLike.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (max (succ u2) (succ u3)) (succ u1), max (max (succ u2) (succ u3)) (succ u1)} (AddEquiv.{max u3 u2 u1, max (max u1 u3) u2} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) (forall (j : η), Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (Finsupp.add.{max u1 u2, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u3} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (fun (i : η) => Finsupp.add.{u2, u3} (ιs i) α (AddMonoid.toAddZeroClass.{u3} α _inst_4)))) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) (fun (_x : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) => forall (j : η), Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) _x) (AddHomClass.toFunLike.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max u3 u2 u1, max (max u1 u3) u2} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) (forall (j : η), Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (Finsupp.add.{max u1 u2, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u3} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (fun (i : η) => Finsupp.add.{u2, u3} (ιs i) α (AddMonoid.toAddZeroClass.{u3} α _inst_4)))) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) (forall (j : η), Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (Finsupp.add.{max u1 u2, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u3} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (fun (i : η) => Finsupp.add.{u2, u3} (ιs i) α (AddMonoid.toAddZeroClass.{u3} α _inst_4))) (AddEquivClass.instAddHomClass.{max (max u2 u3) u1, max (max u2 u3) u1, max (max u2 u3) u1} (AddEquiv.{max u3 u2 u1, max (max u1 u3) u2} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) (forall (j : η), Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (Finsupp.add.{max u1 u2, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u3} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (fun (i : η) => Finsupp.add.{u2, u3} (ιs i) α (AddMonoid.toAddZeroClass.{u3} α _inst_4)))) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) (forall (j : η), Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (Finsupp.add.{max u1 u2, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u3} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (fun (i : η) => Finsupp.add.{u2, u3} (ιs i) α (AddMonoid.toAddZeroClass.{u3} α _inst_4))) (AddEquiv.instAddEquivClassAddEquiv.{max (max u2 u3) u1, max (max u2 u3) u1} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) (forall (j : η), Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (Finsupp.add.{max u1 u2, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toAddZeroClass.{u3} α _inst_4)) (Pi.instAdd.{u1, max u3 u2} η (fun (j : η) => Finsupp.{u2, u3} (ιs j) α (AddMonoid.toZero.{u3} α _inst_4)) (fun (i : η) => Finsupp.add.{u2, u3} (ιs i) α (AddMonoid.toAddZeroClass.{u3} α _inst_4)))))) (Finsupp.sigmaFinsuppAddEquivPiFinsupp.{u1, u3, u2} η _inst_2 α (fun (j : η) => ιs j) _inst_4) f j) i) (FunLike.coe.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2), succ u3} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) (Sigma.{u1, u2} η (fun (j : η) => ιs j)) (fun (_x : Sigma.{u1, u2} η (fun (j : η) => ιs j)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u2} η (fun (j : η) => ιs j)) => α) _x) (Finsupp.funLike.{max u1 u2, u3} (Sigma.{u1, u2} η (fun (j : η) => ιs j)) α (AddMonoid.toZero.{u3} α _inst_4)) f (Sigma.mk.{u1, u2} η (fun (j : η) => ιs j) j i)) Case conversion may be inaccurate. Consider using '#align finsupp.sigma_finsupp_add_equiv_pi_finsupp_apply Finsupp.sigmaFinsuppAddEquivPiFinsupp_applyₓ'. -/ diff --git a/Mathbin/Data/Finsupp/BigOperators.lean b/Mathbin/Data/Finsupp/BigOperators.lean index 00fc73b33d..497cb7dbea 100644 --- a/Mathbin/Data/Finsupp/BigOperators.lean +++ b/Mathbin/Data/Finsupp/BigOperators.lean @@ -43,7 +43,7 @@ variable {ι M : Type _} [DecidableEq ι] /- warning: list.support_sum_subset -> List.support_sum_subset is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u2} M] (l : List.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))), HasSubset.Subset.{u1} (Finset.{u1} ι) (Finset.hasSubset.{u1} ι) (Finsupp.support.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (List.sum.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finsupp.hasAdd.{u1, u2} ι M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (Finsupp.hasZero.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) l)) (List.foldr.{max u1 u2, u1} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finset.{u1} ι) (Function.comp.{max (succ u1) (succ u2), succ u1, succ u1} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finset.{u1} ι) ((Finset.{u1} ι) -> (Finset.{u1} ι)) (Sup.sup.{u1} (Finset.{u1} ι) (SemilatticeSup.toHasSup.{u1} (Finset.{u1} ι) (Lattice.toSemilatticeSup.{u1} (Finset.{u1} ι) (Finset.lattice.{u1} ι (fun (a : ι) (b : ι) => _inst_1 a b))))) (Finsupp.support.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} ι) (Finset.hasEmptyc.{u1} ι)) l) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u2} M] (l : List.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))), HasSubset.Subset.{u1} (Finset.{u1} ι) (Finset.hasSubset.{u1} ι) (Finsupp.support.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (List.sum.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finsupp.add.{u1, u2} ι M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (Finsupp.zero.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) l)) (List.foldr.{max u1 u2, u1} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finset.{u1} ι) (Function.comp.{max (succ u1) (succ u2), succ u1, succ u1} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finset.{u1} ι) ((Finset.{u1} ι) -> (Finset.{u1} ι)) (Sup.sup.{u1} (Finset.{u1} ι) (SemilatticeSup.toHasSup.{u1} (Finset.{u1} ι) (Lattice.toSemilatticeSup.{u1} (Finset.{u1} ι) (Finset.lattice.{u1} ι (fun (a : ι) (b : ι) => _inst_1 a b))))) (Finsupp.support.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} ι) (Finset.hasEmptyc.{u1} ι)) l) but is expected to have type forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u2} M] (l : List.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2))), HasSubset.Subset.{u1} (Finset.{u1} ι) (Finset.instHasSubsetFinset.{u1} ι) (Finsupp.support.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2) (List.sum.{max u1 u2} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finsupp.add.{u1, u2} ι M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (Finsupp.zero.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) l)) (List.foldr.{max u2 u1, u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finset.{u1} ι) (Function.comp.{succ (max u2 u1), succ u1, succ u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finset.{u1} ι) ((Finset.{u1} ι) -> (Finset.{u1} ι)) (fun (x._@.Mathlib.Data.Finsupp.BigOperators._hyg.45 : Finset.{u1} ι) (x._@.Mathlib.Data.Finsupp.BigOperators._hyg.47 : Finset.{u1} ι) => Sup.sup.{u1} (Finset.{u1} ι) (SemilatticeSup.toSup.{u1} (Finset.{u1} ι) (Lattice.toSemilatticeSup.{u1} (Finset.{u1} ι) (Finset.instLatticeFinset.{u1} ι (fun (a : ι) (b : ι) => _inst_1 a b)))) x._@.Mathlib.Data.Finsupp.BigOperators._hyg.45 x._@.Mathlib.Data.Finsupp.BigOperators._hyg.47) (Finsupp.support.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2))) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} ι) (Finset.instEmptyCollectionFinset.{u1} ι)) l) Case conversion may be inaccurate. Consider using '#align list.support_sum_subset List.support_sum_subsetₓ'. -/ @@ -127,7 +127,7 @@ theorem Finset.mem_sup_support_iff [Zero M] {s : Finset (ι →₀ M)} {x : ι} /- warning: list.support_sum_eq -> List.support_sum_eq is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u2} M] (l : List.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))), (List.Pairwise.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Function.onFun.{succ (max u1 u2), succ u1, 1} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finset.{u1} ι) Prop (Disjoint.{u1} (Finset.{u1} ι) (Finset.partialOrder.{u1} ι) (Finset.orderBot.{u1} ι)) (Finsupp.support.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))) l) -> (Eq.{succ u1} (Finset.{u1} ι) (Finsupp.support.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (List.sum.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finsupp.hasAdd.{u1, u2} ι M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (Finsupp.hasZero.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) l)) (List.foldr.{max u1 u2, u1} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finset.{u1} ι) (Function.comp.{max (succ u1) (succ u2), succ u1, succ u1} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finset.{u1} ι) ((Finset.{u1} ι) -> (Finset.{u1} ι)) (Sup.sup.{u1} (Finset.{u1} ι) (SemilatticeSup.toHasSup.{u1} (Finset.{u1} ι) (Lattice.toSemilatticeSup.{u1} (Finset.{u1} ι) (Finset.lattice.{u1} ι (fun (a : ι) (b : ι) => _inst_1 a b))))) (Finsupp.support.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} ι) (Finset.hasEmptyc.{u1} ι)) l)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u2} M] (l : List.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))), (List.Pairwise.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Function.onFun.{succ (max u1 u2), succ u1, 1} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finset.{u1} ι) Prop (Disjoint.{u1} (Finset.{u1} ι) (Finset.partialOrder.{u1} ι) (Finset.orderBot.{u1} ι)) (Finsupp.support.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))) l) -> (Eq.{succ u1} (Finset.{u1} ι) (Finsupp.support.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (List.sum.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finsupp.add.{u1, u2} ι M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (Finsupp.zero.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) l)) (List.foldr.{max u1 u2, u1} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finset.{u1} ι) (Function.comp.{max (succ u1) (succ u2), succ u1, succ u1} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2))) (Finset.{u1} ι) ((Finset.{u1} ι) -> (Finset.{u1} ι)) (Sup.sup.{u1} (Finset.{u1} ι) (SemilatticeSup.toHasSup.{u1} (Finset.{u1} ι) (Lattice.toSemilatticeSup.{u1} (Finset.{u1} ι) (Finset.lattice.{u1} ι (fun (a : ι) (b : ι) => _inst_1 a b))))) (Finsupp.support.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M _inst_2)))) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} ι) (Finset.hasEmptyc.{u1} ι)) l)) but is expected to have type forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u2} M] (l : List.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2))), (List.Pairwise.{max u2 u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Function.onFun.{succ (max u2 u1), succ u1, 1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finset.{u1} ι) Prop (Disjoint.{u1} (Finset.{u1} ι) (Finset.partialOrder.{u1} ι) (Finset.instOrderBotFinsetToLEToPreorderPartialOrder.{u1} ι)) (Finsupp.support.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2))) l) -> (Eq.{succ u1} (Finset.{u1} ι) (Finsupp.support.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2) (List.sum.{max u1 u2} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finsupp.add.{u1, u2} ι M (AddMonoid.toAddZeroClass.{u2} M _inst_2)) (Finsupp.zero.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) l)) (List.foldr.{max u2 u1, u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finset.{u1} ι) (Function.comp.{succ (max u2 u1), succ u1, succ u1} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finset.{u1} ι) ((Finset.{u1} ι) -> (Finset.{u1} ι)) (fun (x._@.Mathlib.Data.Finsupp.BigOperators._hyg.465 : Finset.{u1} ι) (x._@.Mathlib.Data.Finsupp.BigOperators._hyg.467 : Finset.{u1} ι) => Sup.sup.{u1} (Finset.{u1} ι) (SemilatticeSup.toSup.{u1} (Finset.{u1} ι) (Lattice.toSemilatticeSup.{u1} (Finset.{u1} ι) (Finset.instLatticeFinset.{u1} ι (fun (a : ι) (b : ι) => _inst_1 a b)))) x._@.Mathlib.Data.Finsupp.BigOperators._hyg.465 x._@.Mathlib.Data.Finsupp.BigOperators._hyg.467) (Finsupp.support.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2))) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} ι) (Finset.instEmptyCollectionFinset.{u1} ι)) l)) Case conversion may be inaccurate. Consider using '#align list.support_sum_eq List.support_sum_eqₓ'. -/ diff --git a/Mathbin/Data/Finsupp/Defs.lean b/Mathbin/Data/Finsupp/Defs.lean index 611ca94c37..0531d5d2e1 100644 --- a/Mathbin/Data/Finsupp/Defs.lean +++ b/Mathbin/Data/Finsupp/Defs.lean @@ -133,7 +133,7 @@ instance : CoeFun (α →₀ M) fun _ => α → M := /- warning: finsupp.ext -> Finsupp.ext is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, (forall (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) g a)) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, (forall (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) g a)) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {g : Finsupp.{u2, u1} α M _inst_1}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) g a)) -> (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f g) Case conversion may be inaccurate. Consider using '#align finsupp.ext Finsupp.extₓ'. -/ @@ -144,7 +144,7 @@ theorem ext {f g : α →₀ M} (h : ∀ a, f a = g a) : f = g := /- warning: finsupp.ext_iff -> Finsupp.ext_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) (forall (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) g a)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) (forall (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) g a)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {g : Finsupp.{u2, u1} α M _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f g) (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) g a)) Case conversion may be inaccurate. Consider using '#align finsupp.ext_iff Finsupp.ext_iffₓ'. -/ @@ -155,7 +155,7 @@ theorem ext_iff {f g : α →₀ M} : f = g ↔ ∀ a, f a = g a := /- warning: finsupp.coe_fn_inj -> Finsupp.coeFn_inj is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) g)) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) g)) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {g : Finsupp.{u2, u1} α M _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) g)) (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f g) Case conversion may be inaccurate. Consider using '#align finsupp.coe_fn_inj Finsupp.coeFn_injₓ'. -/ @@ -173,7 +173,7 @@ theorem coeFn_injective : @Function.Injective (α →₀ M) (α → M) coeFn := /- warning: finsupp.congr_fun -> Finsupp.congr_fun is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) -> (forall (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) g a)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) -> (forall (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) g a)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {g : Finsupp.{u2, u1} α M _inst_1}, (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f g) -> (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) g a)) Case conversion may be inaccurate. Consider using '#align finsupp.congr_fun Finsupp.congr_funₓ'. -/ @@ -184,7 +184,7 @@ theorem congr_fun {f g : α →₀ M} (h : f = g) (a : α) : f a = g a := /- warning: finsupp.coe_mk -> Finsupp.coe_mk is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : α -> M) (s : Finset.{u1} α) (h : forall (a : α), Iff (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a s) (Ne.{succ u2} M (f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))), Eq.{max (succ u1) (succ u2)} (α -> M) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.mk.{u1, u2} α M _inst_1 s f h)) f + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : α -> M) (s : Finset.{u1} α) (h : forall (a : α), Iff (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a s) (Ne.{succ u2} M (f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))), Eq.{max (succ u1) (succ u2)} (α -> M) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.mk.{u1, u2} α M _inst_1 s f h)) f but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : α -> M) (s : Finset.{u2} α) (h : forall (a : α), Iff (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a s) (Ne.{succ u1} M (f a) (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_1)))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.mk.{u2, u1} α M _inst_1 s f h)) f Case conversion may be inaccurate. Consider using '#align finsupp.coe_mk Finsupp.coe_mkₓ'. -/ @@ -198,7 +198,7 @@ instance : Zero (α →₀ M) := /- warning: finsupp.coe_zero -> Finsupp.coe_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M], Eq.{succ (max u1 u2)} (α -> M) (coeFn.{max (succ u1) (succ u2), succ (max u1 u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) (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 : α) => _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M], Eq.{succ (max u1 u2)} (α -> M) (coeFn.{max (succ u1) (succ u2), succ (max u1 u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) (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 : α) => _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) (OfNat.ofNat.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) 0 (Zero.toOfNat0.{max u2 u1} (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (Pi.instZero.{u2, u1} α (fun (a : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (fun (i : α) => _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.coe_zero Finsupp.coe_zeroₓ'. -/ @@ -215,7 +215,7 @@ theorem zero_apply {a : α} : (0 : α →₀ M) a = 0 := /- warning: finsupp.support_zero -> Finsupp.support_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M], Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} α) (Finset.hasEmptyc.{u1} α)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M], Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} α) (Finset.hasEmptyc.{u1} α)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M], Eq.{succ u2} (Finset.{u2} α) (Finsupp.support.{u2, u1} α M _inst_1 (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) (EmptyCollection.emptyCollection.{u2} (Finset.{u2} α) (Finset.instEmptyCollectionFinset.{u2} α)) Case conversion may be inaccurate. Consider using '#align finsupp.support_zero Finsupp.support_zeroₓ'. -/ @@ -229,7 +229,7 @@ instance : Inhabited (α →₀ M) := /- warning: finsupp.mem_support_iff -> Finsupp.mem_support_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {a : α}, Iff (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M _inst_1 f)) (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {a : α}, Iff (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M _inst_1 f)) (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {a : α}, Iff (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a (Finsupp.support.{u2, u1} α M _inst_1 f)) (Ne.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.mem_support_iff Finsupp.mem_support_iffₓ'. -/ @@ -240,7 +240,7 @@ theorem mem_support_iff {f : α →₀ M} : ∀ {a : α}, a ∈ f.support ↔ f /- warning: finsupp.fun_support_eq -> Finsupp.fun_support_eq is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : Finsupp.{u1, u2} α M _inst_1), Eq.{succ u1} (Set.{u1} α) (Function.support.{u1, u2} α M _inst_1 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Finsupp.support.{u1, u2} α M _inst_1 f)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : Finsupp.{u1, u2} α M _inst_1), Eq.{succ u1} (Set.{u1} α) (Function.support.{u1, u2} α M _inst_1 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Finsupp.support.{u1, u2} α M _inst_1 f)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : Finsupp.{u2, u1} α M _inst_1), Eq.{succ u2} (Set.{u2} α) (Function.support.{u2, u1} α M _inst_1 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f)) (Finset.toSet.{u2} α (Finsupp.support.{u2, u1} α M _inst_1 f)) Case conversion may be inaccurate. Consider using '#align finsupp.fun_support_eq Finsupp.fun_support_eqₓ'. -/ @@ -251,7 +251,7 @@ theorem fun_support_eq (f : α →₀ M) : Function.support f = f.support := /- warning: finsupp.not_mem_support_iff -> Finsupp.not_mem_support_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {a : α}, Iff (Not (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M _inst_1 f))) (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {a : α}, Iff (Not (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M _inst_1 f))) (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {a : α}, Iff (Not (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a (Finsupp.support.{u2, u1} α M _inst_1 f))) (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.not_mem_support_iff Finsupp.not_mem_support_iffₓ'. -/ @@ -261,7 +261,7 @@ theorem not_mem_support_iff {f : α →₀ M} {a} : a ∉ f.support ↔ f a = 0 /- warning: finsupp.coe_eq_zero -> Finsupp.coe_eq_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f) (OfNat.ofNat.{max u1 u2} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) f) 0 (OfNat.mk.{max u1 u2} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) f) 0 (Zero.zero.{max u1 u2} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) f) (Pi.instZero.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_1)))))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f) (OfNat.ofNat.{max u1 u2} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) f) 0 (OfNat.mk.{max u1 u2} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) f) 0 (Zero.zero.{max u1 u2} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) f) (Pi.instZero.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_1)))))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f) (OfNat.ofNat.{max u2 u1} (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) 0 (Zero.toOfNat0.{max u2 u1} (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (Pi.instZero.{u2, u1} α (fun (a : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (fun (i : α) => _inst_1))))) (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.coe_eq_zero Finsupp.coe_eq_zeroₓ'. -/ @@ -271,7 +271,7 @@ theorem coe_eq_zero {f : α →₀ M} : (f : α → M) = 0 ↔ f = 0 := by rw [ /- warning: finsupp.ext_iff' -> Finsupp.ext_iff' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) (And (Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 f) (Finsupp.support.{u1, u2} α M _inst_1 g)) (forall (x : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x (Finsupp.support.{u1, u2} α M _inst_1 f)) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f x) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) g x)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) (And (Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 f) (Finsupp.support.{u1, u2} α M _inst_1 g)) (forall (x : α), (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x (Finsupp.support.{u1, u2} α M _inst_1 f)) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f x) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) g x)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {g : Finsupp.{u2, u1} α M _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f g) (And (Eq.{succ u2} (Finset.{u2} α) (Finsupp.support.{u2, u1} α M _inst_1 f) (Finsupp.support.{u2, u1} α M _inst_1 g)) (forall (x : α), (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) x (Finsupp.support.{u2, u1} α M _inst_1 f)) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) g x)))) Case conversion may be inaccurate. Consider using '#align finsupp.ext_iff' Finsupp.ext_iff'ₓ'. -/ @@ -288,7 +288,7 @@ theorem ext_iff' {f g : α →₀ M} : f = g ↔ f.support = g.support ∧ ∀ x /- warning: finsupp.support_eq_empty -> Finsupp.support_eq_empty is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 f) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} α) (Finset.hasEmptyc.{u1} α))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 f) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} α) (Finset.hasEmptyc.{u1} α))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1}, Iff (Eq.{succ u2} (Finset.{u2} α) (Finsupp.support.{u2, u1} α M _inst_1 f) (EmptyCollection.emptyCollection.{u2} (Finset.{u2} α) (Finset.instEmptyCollectionFinset.{u2} α))) (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.support_eq_empty Finsupp.support_eq_emptyₓ'. -/ @@ -299,7 +299,7 @@ theorem support_eq_empty {f : α →₀ M} : f.support = ∅ ↔ f = 0 := by /- warning: finsupp.support_nonempty_iff -> Finsupp.support_nonempty_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Finset.Nonempty.{u1} α (Finsupp.support.{u1, u2} α M _inst_1 f)) (Ne.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Finset.Nonempty.{u1} α (Finsupp.support.{u1, u2} α M _inst_1 f)) (Ne.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1}, Iff (Finset.Nonempty.{u2} α (Finsupp.support.{u2, u1} α M _inst_1 f)) (Ne.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.support_nonempty_iff Finsupp.support_nonempty_iffₓ'. -/ @@ -309,7 +309,7 @@ theorem support_nonempty_iff {f : α →₀ M} : f.support.Nonempty ↔ f ≠ 0 /- warning: finsupp.nonzero_iff_exists -> Finsupp.nonzero_iff_exists is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Ne.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) (Exists.{succ u1} α (fun (a : α) => Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Ne.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) (Exists.{succ u1} α (fun (a : α) => Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1}, Iff (Ne.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) (Exists.{succ u2} α (fun (a : α) => Ne.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.nonzero_iff_exists Finsupp.nonzero_iff_existsₓ'. -/ @@ -319,7 +319,7 @@ theorem nonzero_iff_exists {f : α →₀ M} : f ≠ 0 ↔ ∃ a : α, f a ≠ 0 /- warning: finsupp.card_support_eq_zero -> Finsupp.card_support_eq_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{1} Nat (Finset.card.{u1} α (Finsupp.support.{u1, u2} α M _inst_1 f)) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{1} Nat (Finset.card.{u1} α (Finsupp.support.{u1, u2} α M _inst_1 f)) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1}, Iff (Eq.{1} Nat (Finset.card.{u2} α (Finsupp.support.{u2, u1} α M _inst_1 f)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.card_support_eq_zero Finsupp.card_support_eq_zeroₓ'. -/ @@ -331,7 +331,7 @@ instance [DecidableEq α] [DecidableEq M] : DecidableEq (α →₀ M) := fun f g /- warning: finsupp.finite_support -> Finsupp.finite_support is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : Finsupp.{u1, u2} α M _inst_1), Set.Finite.{u1} α (Function.support.{u1, u2} α M _inst_1 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : Finsupp.{u1, u2} α M _inst_1), Set.Finite.{u1} α (Function.support.{u1, u2} α M _inst_1 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : Finsupp.{u2, u1} α M _inst_1), Set.Finite.{u2} α (Function.support.{u2, u1} α M _inst_1 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f)) Case conversion may be inaccurate. Consider using '#align finsupp.finite_support Finsupp.finite_supportₓ'. -/ @@ -341,7 +341,7 @@ theorem finite_support (f : α →₀ M) : Set.Finite (Function.support f) := /- warning: finsupp.support_subset_iff -> Finsupp.support_subset_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {s : Set.{u1} α} {f : Finsupp.{u1, u2} α M _inst_1}, Iff (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Finsupp.support.{u1, u2} α M _inst_1 f)) s) (forall (a : α), (Not (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s)) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {s : Set.{u1} α} {f : Finsupp.{u1, u2} α M _inst_1}, Iff (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Finsupp.support.{u1, u2} α M _inst_1 f)) s) (forall (a : α), (Not (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s)) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {s : Set.{u2} α} {f : Finsupp.{u2, u1} α M _inst_1}, Iff (HasSubset.Subset.{u2} (Set.{u2} α) (Set.instHasSubsetSet.{u2} α) (Finset.toSet.{u2} α (Finsupp.support.{u2, u1} α M _inst_1 f)) s) (forall (a : α), (Not (Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) a s)) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.support_subset_iff Finsupp.support_subset_iffₓ'. -/ @@ -383,7 +383,7 @@ noncomputable def Equiv.finsuppUnique {ι : Type _} [Unique ι] : (ι →₀ M) /- warning: finsupp.unique_ext -> Finsupp.unique_ext is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : Unique.{succ u1} α] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) g (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2)))) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : Unique.{succ u1} α] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) g (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2)))) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] [_inst_2 : Unique.{succ u2} α] {f : Finsupp.{u2, u1} α M _inst_1} {g : Finsupp.{u2, u1} α M _inst_1}, (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_2))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_2))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) g (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_2)))) -> (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f g) Case conversion may be inaccurate. Consider using '#align finsupp.unique_ext Finsupp.unique_extₓ'. -/ @@ -394,7 +394,7 @@ theorem unique_ext [Unique α] {f g : α →₀ M} (h : f default = g default) : /- warning: finsupp.unique_ext_iff -> Finsupp.unique_ext_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : Unique.{succ u1} α] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) g (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : Unique.{succ u1} α] {f : Finsupp.{u1, u2} α M _inst_1} {g : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f g) (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) g (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] [_inst_2 : Unique.{succ u2} α] {f : Finsupp.{u2, u1} α M _inst_1} {g : Finsupp.{u2, u1} α M _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f g) (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_2))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_2))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) g (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_2)))) Case conversion may be inaccurate. Consider using '#align finsupp.unique_ext_iff Finsupp.unique_ext_iffₓ'. -/ @@ -434,7 +434,7 @@ def single (a : α) (b : M) : α →₀ M /- warning: finsupp.single_apply -> Finsupp.single_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {a' : α} {b : M} [_inst_2 : Decidable (Eq.{succ u1} α a a')], Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a b) a') (ite.{succ u2} M (Eq.{succ u1} α a a') _inst_2 b (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {a' : α} {b : M} [_inst_2 : Decidable (Eq.{succ u1} α a a')], Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a b) a') (ite.{succ u2} M (Eq.{succ u1} α a a') _inst_2 b (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {a : α} {a' : α} {b : M} [_inst_2 : Decidable (Eq.{succ u2} α a a')], Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a') (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.single.{u2, u1} α M _inst_1 a b) a') (ite.{succ u1} M (Eq.{succ u2} α a a') _inst_2 b (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.single_apply Finsupp.single_applyₓ'. -/ @@ -446,7 +446,7 @@ theorem single_apply [Decidable (a = a')] : single a b a' = if a = a' then b els /- warning: finsupp.single_apply_left -> Finsupp.single_apply_left is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] {f : α -> β}, (Function.Injective.{succ u1, succ u2} α β f) -> (forall (x : α) (z : α) (y : M), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (fun (_x : Finsupp.{u2, u3} β M _inst_1) => β -> M) (Finsupp.hasCoeToFun.{u2, u3} β M _inst_1) (Finsupp.single.{u2, u3} β M _inst_1 (f x) y) (f z)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) (fun (_x : Finsupp.{u1, u3} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u3} α M _inst_1) (Finsupp.single.{u1, u3} α M _inst_1 x y) z)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] {f : α -> β}, (Function.Injective.{succ u1, succ u2} α β f) -> (forall (x : α) (z : α) (y : M), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (fun (_x : Finsupp.{u2, u3} β M _inst_1) => β -> M) (Finsupp.coeFun.{u2, u3} β M _inst_1) (Finsupp.single.{u2, u3} β M _inst_1 (f x) y) (f z)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) (fun (_x : Finsupp.{u1, u3} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u3} α M _inst_1) (Finsupp.single.{u1, u3} α M _inst_1 x y) z)) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : α -> β}, (Function.Injective.{succ u3, succ u2} α β f) -> (forall (x : α) (z : α) (y : M), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) (f z)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β M _inst_1) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u2, u1} β M _inst_1) (Finsupp.single.{u2, u1} β M _inst_1 (f x) y) (f z)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u1} α M _inst_1) (Finsupp.single.{u3, u1} α M _inst_1 x y) z)) Case conversion may be inaccurate. Consider using '#align finsupp.single_apply_left Finsupp.single_apply_leftₓ'. -/ @@ -468,7 +468,7 @@ theorem single_eq_same : (single a b : α →₀ M) a = b := by classical exact /- warning: finsupp.single_eq_of_ne -> Finsupp.single_eq_of_ne is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {a' : α} {b : M}, (Ne.{succ u1} α a a') -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a b) a') (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {a' : α} {b : M}, (Ne.{succ u1} α a a') -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a b) a') (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {a : α} {a' : α} {b : M}, (Ne.{succ u2} α a a') -> (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a') (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.single.{u2, u1} α M _inst_1 a b) a') (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a') 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a') _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.single_eq_of_ne Finsupp.single_eq_of_neₓ'. -/ @@ -479,7 +479,7 @@ theorem single_eq_of_ne (h : a ≠ a') : (single a b : α →₀ M) a' = 0 := by /- warning: finsupp.single_eq_update -> Finsupp.single_eq_update is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (α -> M) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a b)) (Function.update.{succ u1, succ u2} α (fun (a : α) => M) (fun (a : α) (b : α) => _inst_2 a b) (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 (a : α) => M) (fun (i : α) => _inst_1))))) a b) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (α -> M) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a b)) (Function.update.{succ u1, succ u2} α (fun (a : α) => M) (fun (a : α) (b : α) => _inst_2 a b) (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 (a : α) => M) (fun (i : α) => _inst_1))))) a b) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] [_inst_2 : DecidableEq.{succ u2} α] (a : α) (b : M), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.single.{u2, u1} α M _inst_1 a b)) (Function.update.{succ u2, succ u1} α (fun (a : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (fun (a : α) (b : α) => _inst_2 a b) (OfNat.ofNat.{max u2 u1} (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) 0 (Zero.toOfNat0.{max u2 u1} (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (Pi.instZero.{u2, u1} α (fun (a : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (fun (i : α) => _inst_1)))) a b) Case conversion may be inaccurate. Consider using '#align finsupp.single_eq_update Finsupp.single_eq_updateₓ'. -/ @@ -489,7 +489,7 @@ theorem single_eq_update [DecidableEq α] (a : α) (b : M) : ⇑(single a b) = F /- warning: finsupp.single_eq_pi_single -> Finsupp.single_eq_pi_single is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (α -> M) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a b)) (Pi.single.{u1, u2} α (fun (a : α) => M) (fun (a : α) (b : α) => _inst_2 a b) (fun (i : α) => _inst_1) a b) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (α -> M) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a b)) (Pi.single.{u1, u2} α (fun (a : α) => M) (fun (a : α) (b : α) => _inst_2 a b) (fun (i : α) => _inst_1) a b) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] [_inst_2 : DecidableEq.{succ u2} α] (a : α) (b : M), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.single.{u2, u1} α M _inst_1 a b)) (Pi.single.{u2, u1} α (fun (a : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (fun (a : α) (b : α) => _inst_2 a b) (fun (i : α) => _inst_1) a b) Case conversion may be inaccurate. Consider using '#align finsupp.single_eq_pi_single Finsupp.single_eq_pi_singleₓ'. -/ @@ -499,7 +499,7 @@ theorem single_eq_pi_single [DecidableEq α] (a : α) (b : M) : ⇑(single a b) /- warning: finsupp.single_zero -> Finsupp.single_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (a : α), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (a : α), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (a : α), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.single.{u2, u1} α M _inst_1 a (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_1))) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.single_zero Finsupp.single_zeroₓ'. -/ @@ -511,7 +511,7 @@ theorem single_zero (a : α) : (single a 0 : α →₀ M) = 0 := /- warning: finsupp.single_of_single_apply -> Finsupp.single_of_single_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (a : α) (a' : α) (b : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a' b) a)) (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Finsupp.{u1, max u1 u2} α (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)) (fun (_x : Finsupp.{u1, max u1 u2} α (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)) => α -> (Finsupp.{u1, u2} α M _inst_1)) (Finsupp.hasCoeToFun.{u1, max u1 u2} α (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)) (Finsupp.single.{u1, max u1 u2} α (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1) a' (Finsupp.single.{u1, u2} α M _inst_1 a' b)) a) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (a : α) (a' : α) (b : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a' b) a)) (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Finsupp.{u1, max u1 u2} α (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)) (fun (_x : Finsupp.{u1, max u1 u2} α (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)) => α -> (Finsupp.{u1, u2} α M _inst_1)) (Finsupp.coeFun.{u1, max u1 u2} α (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)) (Finsupp.single.{u1, max u1 u2} α (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1) a' (Finsupp.single.{u1, u2} α M _inst_1 a' b)) a) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (a : α) (a' : α) (b : M), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1) (Finsupp.single.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1 a (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.single.{u2, u1} α M _inst_1 a' b) a)) (FunLike.coe.{max (succ u2) (succ (max u2 u1)), succ u2, succ (max u2 u1)} (Finsupp.{u2, max u2 u1} α (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Finsupp.{u2, u1} α M _inst_1) _x) (Finsupp.funLike.{u2, max u2 u1} α (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)) (Finsupp.single.{u2, max u1 u2} α (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1) a' (Finsupp.single.{u2, u1} α M _inst_1 a' b)) a) Case conversion may be inaccurate. Consider using '#align finsupp.single_of_single_apply Finsupp.single_of_single_applyₓ'. -/ @@ -589,7 +589,7 @@ theorem mem_support_single (a a' : α) (b : M) : a ∈ (single a' b).support ↔ /- warning: finsupp.eq_single_iff -> Finsupp.eq_single_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {a : α} {b : M}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (Finsupp.single.{u1, u2} α M _inst_1 a b)) (And (HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 f) (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a)) (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) b)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {a : α} {b : M}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (Finsupp.single.{u1, u2} α M _inst_1 a b)) (And (HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 f) (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a)) (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) b)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {a : α} {b : M}, Iff (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (Finsupp.single.{u2, u1} α M _inst_1 a b)) (And (HasSubset.Subset.{u2} (Finset.{u2} α) (Finset.instHasSubsetFinset.{u2} α) (Finsupp.support.{u2, u1} α M _inst_1 f) (Singleton.singleton.{u2, u2} α (Finset.{u2} α) (Finset.instSingletonFinset.{u2} α) a)) (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) b)) Case conversion may be inaccurate. Consider using '#align finsupp.eq_single_iff Finsupp.eq_single_iffₓ'. -/ @@ -663,7 +663,7 @@ theorem support_single_disjoint {b' : M} (hb : b ≠ 0) (hb' : b' ≠ 0) {i j : /- warning: finsupp.single_eq_zero -> Finsupp.single_eq_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {b : M}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a b) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) (Eq.{succ u2} M b (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {b : M}, Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.single.{u1, u2} α M _inst_1 a b) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) (Eq.{succ u2} M b (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {a : α} {b : M}, Iff (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.single.{u2, u1} α M _inst_1 a b) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) (Eq.{succ u1} M b (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.single_eq_zero Finsupp.single_eq_zeroₓ'. -/ @@ -687,7 +687,7 @@ instance [Nonempty α] [Nontrivial M] : Nontrivial (α →₀ M) := /- warning: finsupp.unique_single -> Finsupp.unique_single is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : Unique.{succ u1} α] (x : Finsupp.{u1, u2} α M _inst_1), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) x (Finsupp.single.{u1, u2} α M _inst_1 (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) x (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : Unique.{succ u1} α] (x : Finsupp.{u1, u2} α M _inst_1), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) x (Finsupp.single.{u1, u2} α M _inst_1 (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) x (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_2)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] [_inst_2 : Unique.{succ u2} α] (x : Finsupp.{u2, u1} α M _inst_1), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) x (Finsupp.single.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_2))) _inst_1 (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_2)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) x (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_2)))) Case conversion may be inaccurate. Consider using '#align finsupp.unique_single Finsupp.unique_singleₓ'. -/ @@ -708,7 +708,7 @@ theorem unique_single_eq_iff [Unique α] {b' : M} : single a b = single a' b' /- warning: finsupp.support_eq_singleton -> Finsupp.support_eq_singleton is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {a : α}, Iff (Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 f) (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a)) (And (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (Finsupp.single.{u1, u2} α M _inst_1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {a : α}, Iff (Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 f) (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a)) (And (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (Finsupp.single.{u1, u2} α M _inst_1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {a : α}, Iff (Eq.{succ u2} (Finset.{u2} α) (Finsupp.support.{u2, u1} α M _inst_1 f) (Singleton.singleton.{u2, u2} α (Finset.{u2} α) (Finset.instSingletonFinset.{u2} α) a)) (And (Ne.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1))) (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (Finsupp.single.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1 a (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a)))) Case conversion may be inaccurate. Consider using '#align finsupp.support_eq_singleton Finsupp.support_eq_singletonₓ'. -/ @@ -737,7 +737,7 @@ theorem support_eq_singleton' {f : α →₀ M} {a : α} : /- warning: finsupp.card_support_eq_one -> Finsupp.card_support_eq_one is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{1} Nat (Finset.card.{u1} α (Finsupp.support.{u1, u2} α M _inst_1 f)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Exists.{succ u1} α (fun (a : α) => And (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (Finsupp.single.{u1, u2} α M _inst_1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (Eq.{1} Nat (Finset.card.{u1} α (Finsupp.support.{u1, u2} α M _inst_1 f)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Exists.{succ u1} α (fun (a : α) => And (Ne.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (Finsupp.single.{u1, u2} α M _inst_1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a))))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1}, Iff (Eq.{1} Nat (Finset.card.{u2} α (Finsupp.support.{u2, u1} α M _inst_1 f)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Exists.{succ u2} α (fun (a : α) => And (Ne.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1))) (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (Finsupp.single.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1 a (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a))))) Case conversion may be inaccurate. Consider using '#align finsupp.card_support_eq_one Finsupp.card_support_eq_oneₓ'. -/ @@ -759,7 +759,7 @@ theorem card_support_eq_one' {f : α →₀ M} : /- warning: finsupp.support_subset_singleton -> Finsupp.support_subset_singleton is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {a : α}, Iff (HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 f) (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a)) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (Finsupp.single.{u1, u2} α M _inst_1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : Finsupp.{u1, u2} α M _inst_1} {a : α}, Iff (HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M _inst_1 f) (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a)) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (Finsupp.single.{u1, u2} α M _inst_1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Finsupp.{u2, u1} α M _inst_1} {a : α}, Iff (HasSubset.Subset.{u2} (Finset.{u2} α) (Finset.instHasSubsetFinset.{u2} α) (Finsupp.support.{u2, u1} α M _inst_1 f) (Singleton.singleton.{u2, u2} α (Finset.{u2} α) (Finset.instSingletonFinset.{u2} α) a)) (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (Finsupp.single.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1 a (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a))) Case conversion may be inaccurate. Consider using '#align finsupp.support_subset_singleton Finsupp.support_subset_singletonₓ'. -/ @@ -780,7 +780,7 @@ theorem support_subset_singleton' {f : α →₀ M} {a : α} : f.support ⊆ {a} /- warning: finsupp.card_support_le_one -> Finsupp.card_support_le_one is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : Nonempty.{succ u1} α] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (LE.le.{0} Nat Nat.hasLe (Finset.card.{u1} α (Finsupp.support.{u1, u2} α M _inst_1 f)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Exists.{succ u1} α (fun (a : α) => Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (Finsupp.single.{u1, u2} α M _inst_1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] [_inst_2 : Nonempty.{succ u1} α] {f : Finsupp.{u1, u2} α M _inst_1}, Iff (LE.le.{0} Nat Nat.hasLe (Finset.card.{u1} α (Finsupp.support.{u1, u2} α M _inst_1 f)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Exists.{succ u1} α (fun (a : α) => Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) f (Finsupp.single.{u1, u2} α M _inst_1 a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] [_inst_2 : Nonempty.{succ u2} α] {f : Finsupp.{u2, u1} α M _inst_1}, Iff (LE.le.{0} Nat instLENat (Finset.card.{u2} α (Finsupp.support.{u2, u1} α M _inst_1 f)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Exists.{succ u2} α (fun (a : α) => Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) f (Finsupp.single.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1 a (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a)))) Case conversion may be inaccurate. Consider using '#align finsupp.card_support_le_one Finsupp.card_support_le_oneₓ'. -/ @@ -857,7 +857,7 @@ def update (f : α →₀ M) (a : α) (b : M) : α →₀ M /- warning: finsupp.coe_update -> Finsupp.coe_update is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : Finsupp.{u1, u2} α M _inst_1) (a : α) (b : M) [_inst_2 : DecidableEq.{succ u1} α], Eq.{max (succ u1) (succ u2)} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.update.{u1, u2} α M _inst_1 f a b)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.update.{u1, u2} α M _inst_1 f a b)) (Function.update.{succ u1, succ u2} α (fun (ᾰ : α) => M) (fun (a : α) (b : α) => _inst_2 a b) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f) a b) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : Finsupp.{u1, u2} α M _inst_1) (a : α) (b : M) [_inst_2 : DecidableEq.{succ u1} α], Eq.{max (succ u1) (succ u2)} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.update.{u1, u2} α M _inst_1 f a b)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.update.{u1, u2} α M _inst_1 f a b)) (Function.update.{succ u1, succ u2} α (fun (ᾰ : α) => M) (fun (a : α) (b : α) => _inst_2 a b) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f) a b) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : Finsupp.{u2, u1} α M _inst_1) (a : α) (b : M) [_inst_2 : DecidableEq.{succ u2} α], Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.update.{u2, u1} α M _inst_1 f a b)) (Function.update.{succ u2, succ u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (fun (a : α) (b : α) => _inst_2 a b) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f) a b) Case conversion may be inaccurate. Consider using '#align finsupp.coe_update Finsupp.coe_updateₓ'. -/ @@ -868,7 +868,7 @@ theorem coe_update [DecidableEq α] : (f.update a b : α → M) = Function.updat /- warning: finsupp.update_self -> Finsupp.update_self is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : Finsupp.{u1, u2} α M _inst_1) (a : α), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.update.{u1, u2} α M _inst_1 f a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a)) f + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (f : Finsupp.{u1, u2} α M _inst_1) (a : α), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.update.{u1, u2} α M _inst_1 f a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a)) f but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : Finsupp.{u2, u1} α M _inst_1) (a : α), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.update.{u2, u1} α M _inst_1 f a (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a)) f Case conversion may be inaccurate. Consider using '#align finsupp.update_self Finsupp.update_selfₓ'. -/ @@ -881,7 +881,7 @@ theorem update_self : f.update a (f a) = f := by /- warning: finsupp.zero_update -> Finsupp.zero_update is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.update.{u1, u2} α M _inst_1 (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)))) a b) (Finsupp.single.{u1, u2} α M _inst_1 a b) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.update.{u1, u2} α M _inst_1 (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)))) a b) (Finsupp.single.{u1, u2} α M _inst_1 a b) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (a : α) (b : M), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.update.{u2, u1} α M _inst_1 (OfNat.ofNat.{max u1 u2} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u1 u2} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1))) a b) (Finsupp.single.{u2, u1} α M _inst_1 a b) Case conversion may be inaccurate. Consider using '#align finsupp.zero_update Finsupp.zero_updateₓ'. -/ @@ -968,7 +968,7 @@ theorem support_erase [DecidableEq α] {a : α} {f : α →₀ M} : /- warning: finsupp.erase_same -> Finsupp.erase_same is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {f : Finsupp.{u1, u2} α M _inst_1}, Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.erase.{u1, u2} α M _inst_1 a f) a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {f : Finsupp.{u1, u2} α M _inst_1}, Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.erase.{u1, u2} α M _inst_1 a f) a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {a : α} {f : Finsupp.{u2, u1} α M _inst_1}, Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.erase.{u2, u1} α M _inst_1 a f) a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1)) Case conversion may be inaccurate. Consider using '#align finsupp.erase_same Finsupp.erase_sameₓ'. -/ @@ -978,7 +978,7 @@ theorem erase_same {a : α} {f : α →₀ M} : (f.eraseₓ a) a = 0 := by conve /- warning: finsupp.erase_ne -> Finsupp.erase_ne is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {a' : α} {f : Finsupp.{u1, u2} α M _inst_1}, (Ne.{succ u1} α a' a) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.erase.{u1, u2} α M _inst_1 a f) a') (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) f a')) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {a' : α} {f : Finsupp.{u1, u2} α M _inst_1}, (Ne.{succ u1} α a' a) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.erase.{u1, u2} α M _inst_1 a f) a') (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) f a')) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {a : α} {a' : α} {f : Finsupp.{u2, u1} α M _inst_1}, (Ne.{succ u2} α a' a) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a') (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.erase.{u2, u1} α M _inst_1 a f) a') (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) f a')) Case conversion may be inaccurate. Consider using '#align finsupp.erase_ne Finsupp.erase_neₓ'. -/ @@ -989,7 +989,7 @@ theorem erase_ne {a a' : α} {f : α →₀ M} (h : a' ≠ a) : (f.eraseₓ a) a /- warning: finsupp.erase_single -> Finsupp.erase_single is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {b : M}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.erase.{u1, u2} α M _inst_1 a (Finsupp.single.{u1, u2} α M _inst_1 a b)) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {a : α} {b : M}, Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.erase.{u1, u2} α M _inst_1 a (Finsupp.single.{u1, u2} α M _inst_1 a b)) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {a : α} {b : M}, Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.erase.{u2, u1} α M _inst_1 a (Finsupp.single.{u2, u1} α M _inst_1 a b)) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.erase_single Finsupp.erase_singleₓ'. -/ @@ -1032,7 +1032,7 @@ theorem erase_of_not_mem_support {f : α →₀ M} {a} (haf : a ∉ f.support) : /- warning: finsupp.erase_zero -> Finsupp.erase_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (a : α), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.erase.{u1, u2} α M _inst_1 a (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1))))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.hasZero.{u1, u2} α M _inst_1)))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] (a : α), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.erase.{u1, u2} α M _inst_1 a (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1))))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M _inst_1) (Finsupp.zero.{u1, u2} α M _inst_1)))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (a : α), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.erase.{u2, u1} α M _inst_1 a (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1)))) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M _inst_1) (Finsupp.zero.{u2, u1} α M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.erase_zero Finsupp.erase_zeroₓ'. -/ @@ -1066,7 +1066,7 @@ def onFinset (s : Finset α) (f : α → M) (hf : ∀ a, f a ≠ 0 → a ∈ s) /- warning: finsupp.on_finset_apply -> Finsupp.onFinset_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {s : Finset.{u1} α} {f : α -> M} {hf : forall (a : α), (Ne.{succ u2} M (f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) -> (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a s)} {a : α}, Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.onFinset.{u1, u2} α M _inst_1 s f hf) a) (f a) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {s : Finset.{u1} α} {f : α -> M} {hf : forall (a : α), (Ne.{succ u2} M (f a) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1)))) -> (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a s)} {a : α}, Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.onFinset.{u1, u2} α M _inst_1 s f hf) a) (f a) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {s : Finset.{u2} α} {f : α -> M} {hf : forall (a : α), (Ne.{succ u1} M (f a) (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_1))) -> (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a s)} {a : α}, Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.onFinset.{u2, u1} α M _inst_1 s f hf) a) (f a) Case conversion may be inaccurate. Consider using '#align finsupp.on_finset_apply Finsupp.onFinset_applyₓ'. -/ @@ -1123,7 +1123,7 @@ noncomputable def ofSupportFinite (f : α → M) (hf : (Function.support f).Fini /- warning: finsupp.of_support_finite_coe -> Finsupp.ofSupportFinite_coe is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : α -> M} {hf : Set.Finite.{u1} α (Function.support.{u1, u2} α M _inst_1 f)}, Eq.{max (succ u1) (succ u2)} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.ofSupportFinite.{u1, u2} α M _inst_1 f hf)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) (Finsupp.ofSupportFinite.{u1, u2} α M _inst_1 f hf)) f + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : Zero.{u2} M] {f : α -> M} {hf : Set.Finite.{u1} α (Function.support.{u1, u2} α M _inst_1 f)}, Eq.{max (succ u1) (succ u2)} ((fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.ofSupportFinite.{u1, u2} α M _inst_1 f hf)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) (Finsupp.ofSupportFinite.{u1, u2} α M _inst_1 f hf)) f but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : α -> M} {hf : Set.Finite.{u2} α (Function.support.{u2, u1} α M _inst_1 f)}, Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M _inst_1) (Finsupp.ofSupportFinite.{u2, u1} α M _inst_1 f hf)) f Case conversion may be inaccurate. Consider using '#align finsupp.of_support_finite_coe Finsupp.ofSupportFinite_coeₓ'. -/ @@ -1273,7 +1273,7 @@ theorem support_embDomain (f : α ↪ β) (v : α →₀ M) : (embDomain f v).su /- warning: finsupp.emb_domain_zero -> Finsupp.embDomain_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : Function.Embedding.{succ u1, succ u2} α β), Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.embDomain.{u1, u2, u3} α β M _inst_1 f (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) (Finsupp.hasZero.{u1, u3} α M _inst_1))))) (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.hasZero.{u2, u3} β M _inst_1)))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : Function.Embedding.{succ u1, succ u2} α β), Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.embDomain.{u1, u2, u3} α β M _inst_1 f (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) (Finsupp.zero.{u1, u3} α M _inst_1))))) (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.zero.{u2, u3} β M _inst_1)))) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : Function.Embedding.{succ u3, succ u2} α β), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} β M _inst_1) (Finsupp.embDomain.{u3, u2, u1} α β M _inst_1 f (OfNat.ofNat.{max u3 u1} (Finsupp.{u3, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u3 u1} (Finsupp.{u3, u1} α M _inst_1) (Finsupp.zero.{u3, u1} α M _inst_1)))) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} β M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} β M _inst_1) (Finsupp.zero.{u2, u1} β M _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.emb_domain_zero Finsupp.embDomain_zeroₓ'. -/ @@ -1284,7 +1284,7 @@ theorem embDomain_zero (f : α ↪ β) : (embDomain f 0 : β →₀ M) = 0 := /- warning: finsupp.emb_domain_apply -> Finsupp.embDomain_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : Function.Embedding.{succ u1, succ u2} α β) (v : Finsupp.{u1, u3} α M _inst_1) (a : α), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (fun (_x : Finsupp.{u2, u3} β M _inst_1) => β -> M) (Finsupp.hasCoeToFun.{u2, u3} β M _inst_1) (Finsupp.embDomain.{u1, u2, u3} α β M _inst_1 f v) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Function.Embedding.{succ u1, succ u2} α β) (fun (_x : Function.Embedding.{succ u1, succ u2} α β) => α -> β) (Function.Embedding.hasCoeToFun.{succ u1, succ u2} α β) f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) (fun (_x : Finsupp.{u1, u3} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u3} α M _inst_1) v a) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : Function.Embedding.{succ u1, succ u2} α β) (v : Finsupp.{u1, u3} α M _inst_1) (a : α), Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (fun (_x : Finsupp.{u2, u3} β M _inst_1) => β -> M) (Finsupp.coeFun.{u2, u3} β M _inst_1) (Finsupp.embDomain.{u1, u2, u3} α β M _inst_1 f v) (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Function.Embedding.{succ u1, succ u2} α β) (fun (_x : Function.Embedding.{succ u1, succ u2} α β) => α -> β) (Function.Embedding.hasCoeToFun.{succ u1, succ u2} α β) f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) (fun (_x : Finsupp.{u1, u3} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u3} α M _inst_1) v a) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : Function.Embedding.{succ u3, succ u2} α β) (v : Finsupp.{u3, u1} α M _inst_1) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Function.Embedding.{succ u3, succ u2} α β) α (fun (a : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) a) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u2} (Function.Embedding.{succ u3, succ u2} α β) α β (Function.instEmbeddingLikeEmbedding.{succ u3, succ u2} α β)) f a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β M _inst_1) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u2, u1} β M _inst_1) (Finsupp.embDomain.{u3, u2, u1} α β M _inst_1 f v) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Function.Embedding.{succ u3, succ u2} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u2} (Function.Embedding.{succ u3, succ u2} α β) α β (Function.instEmbeddingLikeEmbedding.{succ u3, succ u2} α β)) f a)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u1} α M _inst_1) v a) Case conversion may be inaccurate. Consider using '#align finsupp.emb_domain_apply Finsupp.embDomain_applyₓ'. -/ @@ -1300,7 +1300,7 @@ theorem embDomain_apply (f : α ↪ β) (v : α →₀ M) (a : α) : embDomain f /- warning: finsupp.emb_domain_notin_range -> Finsupp.embDomain_notin_range is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : Function.Embedding.{succ u1, succ u2} α β) (v : Finsupp.{u1, u3} α M _inst_1) (a : β), (Not (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) a (Set.range.{u2, succ u1} β α (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Function.Embedding.{succ u1, succ u2} α β) (fun (_x : Function.Embedding.{succ u1, succ u2} α β) => α -> β) (Function.Embedding.hasCoeToFun.{succ u1, succ u2} α β) f)))) -> (Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (fun (_x : Finsupp.{u2, u3} β M _inst_1) => β -> M) (Finsupp.hasCoeToFun.{u2, u3} β M _inst_1) (Finsupp.embDomain.{u1, u2, u3} α β M _inst_1 f v) a) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M _inst_1)))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] (f : Function.Embedding.{succ u1, succ u2} α β) (v : Finsupp.{u1, u3} α M _inst_1) (a : β), (Not (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) a (Set.range.{u2, succ u1} β α (coeFn.{max 1 (succ u1) (succ u2), max (succ u1) (succ u2)} (Function.Embedding.{succ u1, succ u2} α β) (fun (_x : Function.Embedding.{succ u1, succ u2} α β) => α -> β) (Function.Embedding.hasCoeToFun.{succ u1, succ u2} α β) f)))) -> (Eq.{succ u3} M (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (fun (_x : Finsupp.{u2, u3} β M _inst_1) => β -> M) (Finsupp.coeFun.{u2, u3} β M _inst_1) (Finsupp.embDomain.{u1, u2, u3} α β M _inst_1 f v) a) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M _inst_1)))) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (f : Function.Embedding.{succ u3, succ u2} α β) (v : Finsupp.{u3, u1} α M _inst_1) (a : β), (Not (Membership.mem.{u2, u2} β (Set.{u2} β) (Set.instMembershipSet.{u2} β) a (Set.range.{u2, succ u3} β α (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Function.Embedding.{succ u3, succ u2} α β) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u2} (Function.Embedding.{succ u3, succ u2} α β) α β (Function.instEmbeddingLikeEmbedding.{succ u3, succ u2} α β)) f)))) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} β M _inst_1) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u2, u1} β M _inst_1) (Finsupp.embDomain.{u3, u2, u1} α β M _inst_1 f v) a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) a) _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.emb_domain_notin_range Finsupp.embDomain_notin_rangeₓ'. -/ @@ -1335,7 +1335,7 @@ theorem embDomain_inj {f : α ↪ β} {l₁ l₂ : α →₀ M} : embDomain f l /- warning: finsupp.emb_domain_eq_zero -> Finsupp.embDomain_eq_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] {f : Function.Embedding.{succ u1, succ u2} α β} {l : Finsupp.{u1, u3} α M _inst_1}, Iff (Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.embDomain.{u1, u2, u3} α β M _inst_1 f l) (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.hasZero.{u2, u3} β M _inst_1))))) (Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) l (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) (Finsupp.hasZero.{u1, u3} α M _inst_1))))) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : Zero.{u3} M] {f : Function.Embedding.{succ u1, succ u2} α β} {l : Finsupp.{u1, u3} α M _inst_1}, Iff (Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.embDomain.{u1, u2, u3} α β M _inst_1 f l) (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} β M _inst_1) (Finsupp.zero.{u2, u3} β M _inst_1))))) (Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α M _inst_1) l (OfNat.ofNat.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (OfNat.mk.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) 0 (Zero.zero.{max u1 u3} (Finsupp.{u1, u3} α M _inst_1) (Finsupp.zero.{u1, u3} α M _inst_1))))) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] {f : Function.Embedding.{succ u3, succ u2} α β} {l : Finsupp.{u3, u1} α M _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} β M _inst_1) (Finsupp.embDomain.{u3, u2, u1} α β M _inst_1 f l) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} β M _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} β M _inst_1) (Finsupp.zero.{u2, u1} β M _inst_1)))) (Eq.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} α M _inst_1) l (OfNat.ofNat.{max u3 u1} (Finsupp.{u3, u1} α M _inst_1) 0 (Zero.toOfNat0.{max u3 u1} (Finsupp.{u3, u1} α M _inst_1) (Finsupp.zero.{u3, u1} α M _inst_1)))) Case conversion may be inaccurate. Consider using '#align finsupp.emb_domain_eq_zero Finsupp.embDomain_eq_zeroₓ'. -/ @@ -1431,7 +1431,7 @@ def zipWith (f : M → N → P) (hf : f 0 0 = 0) (g₁ : α →₀ M) (g₂ : α /- warning: finsupp.zip_with_apply -> Finsupp.zipWith_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {P : Type.{u4}} [_inst_1 : Zero.{u2} M] [_inst_2 : Zero.{u3} N] [_inst_3 : Zero.{u4} P] {f : M -> N -> P} {hf : Eq.{succ u4} P (f (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))) (OfNat.ofNat.{u3} N 0 (OfNat.mk.{u3} N 0 (Zero.zero.{u3} N _inst_2)))) (OfNat.ofNat.{u4} P 0 (OfNat.mk.{u4} P 0 (Zero.zero.{u4} P _inst_3)))} {g₁ : Finsupp.{u1, u2} α M _inst_1} {g₂ : Finsupp.{u1, u3} α N _inst_2} {a : α}, Eq.{succ u4} P (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (Finsupp.{u1, u4} α P _inst_3) (fun (_x : Finsupp.{u1, u4} α P _inst_3) => α -> P) (Finsupp.hasCoeToFun.{u1, u4} α P _inst_3) (Finsupp.zipWith.{u1, u2, u3, u4} α M N P _inst_1 _inst_2 _inst_3 f hf g₁ g₂) a) (f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M _inst_1) g₁ a) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N _inst_2) (fun (_x : Finsupp.{u1, u3} α N _inst_2) => α -> N) (Finsupp.hasCoeToFun.{u1, u3} α N _inst_2) g₂ a)) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {P : Type.{u4}} [_inst_1 : Zero.{u2} M] [_inst_2 : Zero.{u3} N] [_inst_3 : Zero.{u4} P] {f : M -> N -> P} {hf : Eq.{succ u4} P (f (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_1))) (OfNat.ofNat.{u3} N 0 (OfNat.mk.{u3} N 0 (Zero.zero.{u3} N _inst_2)))) (OfNat.ofNat.{u4} P 0 (OfNat.mk.{u4} P 0 (Zero.zero.{u4} P _inst_3)))} {g₁ : Finsupp.{u1, u2} α M _inst_1} {g₂ : Finsupp.{u1, u3} α N _inst_2} {a : α}, Eq.{succ u4} P (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (Finsupp.{u1, u4} α P _inst_3) (fun (_x : Finsupp.{u1, u4} α P _inst_3) => α -> P) (Finsupp.coeFun.{u1, u4} α P _inst_3) (Finsupp.zipWith.{u1, u2, u3, u4} α M N P _inst_1 _inst_2 _inst_3 f hf g₁ g₂) a) (f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M _inst_1) (fun (_x : Finsupp.{u1, u2} α M _inst_1) => α -> M) (Finsupp.coeFun.{u1, u2} α M _inst_1) g₁ a) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N _inst_2) (fun (_x : Finsupp.{u1, u3} α N _inst_2) => α -> N) (Finsupp.coeFun.{u1, u3} α N _inst_2) g₂ a)) but is expected to have type forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} {P : Type.{u4}} [_inst_1 : Zero.{u3} M] [_inst_2 : Zero.{u2} N] [_inst_3 : Zero.{u4} P] {f : M -> N -> P} {hf : Eq.{succ u4} P (f (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M _inst_1)) (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N _inst_2))) (OfNat.ofNat.{u4} P 0 (Zero.toOfNat0.{u4} P _inst_3))} {g₁ : Finsupp.{u1, u3} α M _inst_1} {g₂ : Finsupp.{u1, u2} α N _inst_2} {a : α}, Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => P) a) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Finsupp.{u1, u4} α P _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => P) _x) (Finsupp.funLike.{u1, u4} α P _inst_3) (Finsupp.zipWith.{u1, u3, u2, u4} α M N P _inst_1 _inst_2 _inst_3 f hf g₁ g₂) a) (f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} α M _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u1, u3} α M _inst_1) g₁ a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α N _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u1, u2} α N _inst_2) g₂ a)) Case conversion may be inaccurate. Consider using '#align finsupp.zip_with_apply Finsupp.zipWith_applyₓ'. -/ @@ -1466,7 +1466,7 @@ instance : Add (α →₀ M) := /- warning: finsupp.coe_add -> Finsupp.coe_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{succ (max u1 u2)} (α -> M) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (α -> M) (α -> M) (α -> M) (instHAdd.{max u1 u2} (α -> M) (Pi.instAdd.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => AddZeroClass.toHasAdd.{u2} M _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) g)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{succ (max u1 u2)} (α -> M) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (α -> M) (α -> M) (α -> M) (instHAdd.{max u1 u2} (α -> M) (Pi.instAdd.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => AddZeroClass.toHasAdd.{u2} M _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) g)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (g : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) f g)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (instHAdd.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (Pi.instAdd.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) ᾰ) (fun (i : α) => AddZeroClass.toAdd.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) i) _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) g)) Case conversion may be inaccurate. Consider using '#align finsupp.coe_add Finsupp.coe_addₓ'. -/ @@ -1477,7 +1477,7 @@ theorem coe_add (f g : α →₀ M) : ⇑(f + g) = f + g := /- warning: finsupp.add_apply -> Finsupp.add_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (g₁ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (g₂ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) g₁ g₂) a) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) g₁ a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) g₂ a)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (g₁ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (g₂ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (a : α), Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) g₁ g₂) a) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) g₁ a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) g₂ a)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] (g₁ : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (g₂ : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) g₁ g₂) a) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddZeroClass.toAdd.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) g₁ a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) g₂ a)) Case conversion may be inaccurate. Consider using '#align finsupp.add_apply Finsupp.add_applyₓ'. -/ @@ -1487,7 +1487,7 @@ theorem add_apply (g₁ g₂ : α →₀ M) (a : α) : (g₁ + g₂) a = g₁ a /- warning: finsupp.support_add -> Finsupp.support_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] {g₁ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)} {g₂ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) g₁ g₂)) (Union.union.{u1} (Finset.{u1} α) (Finset.hasUnion.{u1} α (fun (a : α) (b : α) => _inst_2 a b)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₁) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₂)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] {g₁ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)} {g₂ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) g₁ g₂)) (Union.union.{u1} (Finset.{u1} α) (Finset.hasUnion.{u1} α (fun (a : α) (b : α) => _inst_2 a b)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₁) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₂)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] [_inst_2 : DecidableEq.{succ u2} α] {g₁ : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)} {g₂ : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)}, HasSubset.Subset.{u2} (Finset.{u2} α) (Finset.instHasSubsetFinset.{u2} α) (Finsupp.support.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) g₁ g₂)) (Union.union.{u2} (Finset.{u2} α) (Finset.instUnionFinset.{u2} α (fun (a : α) (b : α) => _inst_2 a b)) (Finsupp.support.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) g₁) (Finsupp.support.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) g₂)) Case conversion may be inaccurate. Consider using '#align finsupp.support_add Finsupp.support_addₓ'. -/ @@ -1498,7 +1498,7 @@ theorem support_add [DecidableEq α] {g₁ g₂ : α →₀ M} : /- warning: finsupp.support_add_eq -> Finsupp.support_add_eq is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] {g₁ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)} {g₂ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)}, (Disjoint.{u1} (Finset.{u1} α) (Finset.partialOrder.{u1} α) (Finset.orderBot.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₁) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₂)) -> (Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) g₁ g₂)) (Union.union.{u1} (Finset.{u1} α) (Finset.hasUnion.{u1} α (fun (a : α) (b : α) => _inst_2 a b)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₁) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₂))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] [_inst_2 : DecidableEq.{succ u1} α] {g₁ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)} {g₂ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)}, (Disjoint.{u1} (Finset.{u1} α) (Finset.partialOrder.{u1} α) (Finset.orderBot.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₁) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₂)) -> (Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) g₁ g₂)) (Union.union.{u1} (Finset.{u1} α) (Finset.hasUnion.{u1} α (fun (a : α) (b : α) => _inst_2 a b)) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₁) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) g₂))) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] [_inst_2 : DecidableEq.{succ u2} α] {g₁ : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)} {g₂ : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)}, (Disjoint.{u2} (Finset.{u2} α) (Finset.partialOrder.{u2} α) (Finset.instOrderBotFinsetToLEToPreorderPartialOrder.{u2} α) (Finsupp.support.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) g₁) (Finsupp.support.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) g₂)) -> (Eq.{succ u2} (Finset.{u2} α) (Finsupp.support.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) g₁ g₂)) (Union.union.{u2} (Finset.{u2} α) (Finset.instUnionFinset.{u2} α (fun (a : α) (b : α) => _inst_2 a b)) (Finsupp.support.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) g₁) (Finsupp.support.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) g₂))) Case conversion may be inaccurate. Consider using '#align finsupp.support_add_eq Finsupp.support_add_eqₓ'. -/ @@ -1517,7 +1517,7 @@ theorem support_add_eq [DecidableEq α] {g₁ g₂ : α →₀ M} (h : Disjoint /- warning: finsupp.single_add -> Finsupp.single_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (a : α) (b₁ : M) (b₂ : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_1)) b₁ b₂)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b₁) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b₂)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (a : α) (b₁ : M) (b₂ : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_1)) b₁ b₂)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b₁) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b₂)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] (a : α) (b₁ : M) (b₂ : M), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.single.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M _inst_1)) b₁ b₂)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) (Finsupp.single.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a b₁) (Finsupp.single.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a b₂)) Case conversion may be inaccurate. Consider using '#align finsupp.single_add Finsupp.single_addₓ'. -/ @@ -1577,7 +1577,7 @@ noncomputable def coeFnAddHom : (α →₀ M) →+ α → M /- warning: finsupp.update_eq_single_add_erase -> Finsupp.update_eq_single_add_erase is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.update.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) f a b) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.update.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) f a b) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (a : α) (b : M), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.update.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) f a b) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) (Finsupp.single.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a b) (Finsupp.erase.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a f)) Case conversion may be inaccurate. Consider using '#align finsupp.update_eq_single_add_erase Finsupp.update_eq_single_add_eraseₓ'. -/ @@ -1592,7 +1592,7 @@ theorem update_eq_single_add_erase (f : α →₀ M) (a : α) (b : M) : /- warning: finsupp.update_eq_erase_add_single -> Finsupp.update_eq_erase_add_single is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.update.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) f a b) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b)) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.update.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) f a b) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b)) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (a : α) (b : M), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.update.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) f a b) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) (Finsupp.erase.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a f) (Finsupp.single.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a b)) Case conversion may be inaccurate. Consider using '#align finsupp.update_eq_erase_add_single Finsupp.update_eq_erase_add_singleₓ'. -/ @@ -1607,7 +1607,7 @@ theorem update_eq_erase_add_single (f : α →₀ M) (a : α) (b : M) : /- warning: finsupp.single_add_erase -> Finsupp.single_add_erase is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (a : α) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) f a)) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f)) f + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (a : α) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) f a)) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f)) f but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] (a : α) (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1)) (Finsupp.add.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1)) (Finsupp.single.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1) a (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) f a)) (Finsupp.erase.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a f)) f Case conversion may be inaccurate. Consider using '#align finsupp.single_add_erase Finsupp.single_add_eraseₓ'. -/ @@ -1617,7 +1617,7 @@ theorem single_add_erase (a : α) (f : α →₀ M) : single a (f a) + f.erase /- warning: finsupp.erase_add_single -> Finsupp.erase_add_single is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (a : α) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) f a))) f + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (a : α) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) f a))) f but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] (a : α) (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) (Finsupp.erase.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a f) (Finsupp.single.{u2, u1} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (AddZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) _inst_1) a (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) f a))) f Case conversion may be inaccurate. Consider using '#align finsupp.erase_add_single Finsupp.erase_add_singleₓ'. -/ @@ -1627,7 +1627,7 @@ theorem erase_add_single (a : α) (f : α →₀ M) : f.eraseₓ a + single a (f /- warning: finsupp.erase_add -> Finsupp.erase_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (a : α) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (f' : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) f f')) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f')) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (a : α) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (f' : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) f f')) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f) (Finsupp.erase.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a f')) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] (a : α) (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (f' : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.erase.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) f f')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) (Finsupp.erase.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a f) (Finsupp.erase.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a f')) Case conversion may be inaccurate. Consider using '#align finsupp.erase_add Finsupp.erase_addₓ'. -/ @@ -1656,7 +1656,7 @@ def eraseAddHom (a : α) : (α →₀ M) →+ α →₀ M /- warning: finsupp.induction -> Finsupp.induction is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] {p : (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) -> Prop} (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (p (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)))))) -> (forall (a : α) (b : M) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (Not (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) f))) -> (Ne.{succ u2} M b (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_1))))) -> (p f) -> (p (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b) f))) -> (p f) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] {p : (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) -> Prop} (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (p (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)))))) -> (forall (a : α) (b : M) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (Not (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) f))) -> (Ne.{succ u2} M b (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_1))))) -> (p f) -> (p (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b) f))) -> (p f) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] {p : (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) -> Prop} (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)), (p (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.zero.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1))))) -> (forall (a : α) (b : M) (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)), (Not (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a (Finsupp.support.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) f))) -> (Ne.{succ u1} M b (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddZeroClass.toZero.{u1} M _inst_1)))) -> (p f) -> (p (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) (Finsupp.single.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a b) f))) -> (p f) Case conversion may be inaccurate. Consider using '#align finsupp.induction Finsupp.inductionₓ'. -/ @@ -1680,7 +1680,7 @@ protected theorem induction {p : (α →₀ M) → Prop} (f : α →₀ M) (h0 : /- warning: finsupp.induction₂ -> Finsupp.induction₂ is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] {p : (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) -> Prop} (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (p (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)))))) -> (forall (a : α) (b : M) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (Not (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) f))) -> (Ne.{succ u2} M b (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_1))))) -> (p f) -> (p (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) f (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b)))) -> (p f) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] {p : (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) -> Prop} (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (p (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)))))) -> (forall (a : α) (b : M) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (Not (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) f))) -> (Ne.{succ u2} M b (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_1))))) -> (p f) -> (p (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) f (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b)))) -> (p f) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] {p : (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) -> Prop} (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)), (p (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.zero.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1))))) -> (forall (a : α) (b : M) (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)), (Not (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a (Finsupp.support.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) f))) -> (Ne.{succ u1} M b (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddZeroClass.toZero.{u1} M _inst_1)))) -> (p f) -> (p (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) f (Finsupp.single.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a b)))) -> (p f) Case conversion may be inaccurate. Consider using '#align finsupp.induction₂ Finsupp.induction₂ₓ'. -/ @@ -1703,7 +1703,7 @@ theorem induction₂ {p : (α →₀ M) → Prop} (f : α →₀ M) (h0 : p 0) /- warning: finsupp.induction_linear -> Finsupp.induction_linear is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] {p : (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) -> Prop} (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (p (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasZero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)))))) -> (forall (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (p f) -> (p g) -> (p (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) f g))) -> (forall (a : α) (b : M), p (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b)) -> (p f) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] {p : (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) -> Prop} (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (p (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.zero.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)))))) -> (forall (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (g : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), (p f) -> (p g) -> (p (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) f g))) -> (forall (a : α) (b : M), p (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1) a b)) -> (p f) but is expected to have type forall {α : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] {p : (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) -> Prop} (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)), (p (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.zero.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1))))) -> (forall (f : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (g : Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)), (p f) -> (p g) -> (p (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} α M _inst_1)) f g))) -> (forall (a : α) (b : M), p (Finsupp.single.{u2, u1} α M (AddZeroClass.toZero.{u1} M _inst_1) a b)) -> (p f) Case conversion may be inaccurate. Consider using '#align finsupp.induction_linear Finsupp.induction_linearₓ'. -/ @@ -1788,7 +1788,7 @@ theorem mulHom_ext' [MulOneClass N] {f g : Multiplicative (α →₀ M) →* N} /- warning: finsupp.map_range_add -> Finsupp.mapRange_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddZeroClass.{u2} M] [_inst_2 : AddZeroClass.{u3} N] {f : M -> N} {hf : Eq.{succ u3} N (f (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_1))))) (OfNat.ofNat.{u3} N 0 (OfNat.mk.{u3} N 0 (Zero.zero.{u3} N (AddZeroClass.toHasZero.{u3} N _inst_2))))}, (forall (x : M) (y : M), Eq.{succ u3} N (f (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_1)) x y)) (HAdd.hAdd.{u3, u3, u3} N N N (instHAdd.{u3} N (AddZeroClass.toHasAdd.{u3} N _inst_2)) (f x) (f y))) -> (forall (v₁ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (v₂ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_1) (AddZeroClass.toHasZero.{u3} N _inst_2) f hf (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} α M _inst_1)) v₁ v₂)) (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N _inst_2)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.hasAdd.{u1, u3} α N _inst_2)) (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_1) (AddZeroClass.toHasZero.{u3} N _inst_2) f hf v₁) (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_1) (AddZeroClass.toHasZero.{u3} N _inst_2) f hf v₂))) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddZeroClass.{u2} M] [_inst_2 : AddZeroClass.{u3} N] {f : M -> N} {hf : Eq.{succ u3} N (f (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_1))))) (OfNat.ofNat.{u3} N 0 (OfNat.mk.{u3} N 0 (Zero.zero.{u3} N (AddZeroClass.toHasZero.{u3} N _inst_2))))}, (forall (x : M) (y : M), Eq.{succ u3} N (f (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M _inst_1)) x y)) (HAdd.hAdd.{u3, u3, u3} N N N (instHAdd.{u3} N (AddZeroClass.toHasAdd.{u3} N _inst_2)) (f x) (f y))) -> (forall (v₁ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (v₂ : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_1) (AddZeroClass.toHasZero.{u3} N _inst_2) f hf (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) v₁ v₂)) (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N _inst_2)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.add.{u1, u3} α N _inst_2)) (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_1) (AddZeroClass.toHasZero.{u3} N _inst_2) f hf v₁) (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M _inst_1) (AddZeroClass.toHasZero.{u3} N _inst_2) f hf v₂))) but is expected to have type forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : AddZeroClass.{u2} M] [_inst_2 : AddZeroClass.{u3} N] {f : M -> N} {hf : Eq.{succ u3} N (f (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddZeroClass.toZero.{u2} M _inst_1)))) (OfNat.ofNat.{u3} N 0 (Zero.toOfNat0.{u3} N (AddZeroClass.toZero.{u3} N _inst_2)))}, (forall (x : M) (y : M), Eq.{succ u3} N (f (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M _inst_1)) x y)) (HAdd.hAdd.{u3, u3, u3} N N N (instHAdd.{u3} N (AddZeroClass.toAdd.{u3} N _inst_2)) (f x) (f y))) -> (forall (v₁ : Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (v₂ : Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α N (AddZeroClass.toZero.{u3} N _inst_2)) (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toZero.{u2} M _inst_1) (AddZeroClass.toZero.{u3} N _inst_2) f hf (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) v₁ v₂)) (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α N (AddZeroClass.toZero.{u3} N _inst_2)) (Finsupp.{u1, u3} α N (AddZeroClass.toZero.{u3} N _inst_2)) (Finsupp.{u1, u3} α N (AddZeroClass.toZero.{u3} N _inst_2)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α N (AddZeroClass.toZero.{u3} N _inst_2)) (Finsupp.add.{u1, u3} α N _inst_2)) (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toZero.{u2} M _inst_1) (AddZeroClass.toZero.{u3} N _inst_2) f hf v₁) (Finsupp.mapRange.{u1, u2, u3} α M N (AddZeroClass.toZero.{u2} M _inst_1) (AddZeroClass.toZero.{u3} N _inst_2) f hf v₂))) Case conversion may be inaccurate. Consider using '#align finsupp.map_range_add Finsupp.mapRange_addₓ'. -/ @@ -1800,7 +1800,7 @@ theorem mapRange_add [AddZeroClass N] {f : M → N} {hf : f 0 = 0} /- warning: finsupp.map_range_add' -> Finsupp.mapRange_add' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} [_inst_1 : AddZeroClass.{u3} M] [_inst_2 : AddZeroClass.{u4} N] [_inst_3 : AddMonoidHomClass.{u2, u3, u4} β M N _inst_1 _inst_2] {f : β} (v₁ : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (v₂ : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)), Eq.{max (succ u1) (succ u4)} (Finsupp.{u1, u4} α N (AddZeroClass.toHasZero.{u4} N _inst_2)) (Finsupp.mapRange.{u1, u3, u4} α M N (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => M -> N) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β M (fun (_x : M) => N) (AddHomClass.toFunLike.{u2, u3, u4} β M N (AddZeroClass.toHasAdd.{u3} M _inst_1) (AddZeroClass.toHasAdd.{u4} N _inst_2) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3))) f) (map_zero.{u3, u4, u2} M N β (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3) f) (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.hasAdd.{u1, u3} α M _inst_1)) v₁ v₂)) (HAdd.hAdd.{max u1 u4, max u1 u4, max u1 u4} (Finsupp.{u1, u4} α N (AddZeroClass.toHasZero.{u4} N _inst_2)) (Finsupp.{u1, u4} α N (AddZeroClass.toHasZero.{u4} N _inst_2)) (Finsupp.{u1, u4} α N (AddZeroClass.toHasZero.{u4} N _inst_2)) (instHAdd.{max u1 u4} (Finsupp.{u1, u4} α N (AddZeroClass.toHasZero.{u4} N _inst_2)) (Finsupp.hasAdd.{u1, u4} α N _inst_2)) (Finsupp.mapRange.{u1, u3, u4} α M N (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => M -> N) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β M (fun (_x : M) => N) (AddHomClass.toFunLike.{u2, u3, u4} β M N (AddZeroClass.toHasAdd.{u3} M _inst_1) (AddZeroClass.toHasAdd.{u4} N _inst_2) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3))) f) (map_zero.{u3, u4, u2} M N β (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3) f) v₁) (Finsupp.mapRange.{u1, u3, u4} α M N (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => M -> N) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β M (fun (_x : M) => N) (AddHomClass.toFunLike.{u2, u3, u4} β M N (AddZeroClass.toHasAdd.{u3} M _inst_1) (AddZeroClass.toHasAdd.{u4} N _inst_2) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3))) f) (map_zero.{u3, u4, u2} M N β (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3) f) v₂)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} {N : Type.{u4}} [_inst_1 : AddZeroClass.{u3} M] [_inst_2 : AddZeroClass.{u4} N] [_inst_3 : AddMonoidHomClass.{u2, u3, u4} β M N _inst_1 _inst_2] {f : β} (v₁ : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (v₂ : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)), Eq.{max (succ u1) (succ u4)} (Finsupp.{u1, u4} α N (AddZeroClass.toHasZero.{u4} N _inst_2)) (Finsupp.mapRange.{u1, u3, u4} α M N (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => M -> N) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β M (fun (_x : M) => N) (AddHomClass.toFunLike.{u2, u3, u4} β M N (AddZeroClass.toHasAdd.{u3} M _inst_1) (AddZeroClass.toHasAdd.{u4} N _inst_2) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3))) f) (map_zero.{u3, u4, u2} M N β (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3) f) (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.add.{u1, u3} α M _inst_1)) v₁ v₂)) (HAdd.hAdd.{max u1 u4, max u1 u4, max u1 u4} (Finsupp.{u1, u4} α N (AddZeroClass.toHasZero.{u4} N _inst_2)) (Finsupp.{u1, u4} α N (AddZeroClass.toHasZero.{u4} N _inst_2)) (Finsupp.{u1, u4} α N (AddZeroClass.toHasZero.{u4} N _inst_2)) (instHAdd.{max u1 u4} (Finsupp.{u1, u4} α N (AddZeroClass.toHasZero.{u4} N _inst_2)) (Finsupp.add.{u1, u4} α N _inst_2)) (Finsupp.mapRange.{u1, u3, u4} α M N (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => M -> N) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β M (fun (_x : M) => N) (AddHomClass.toFunLike.{u2, u3, u4} β M N (AddZeroClass.toHasAdd.{u3} M _inst_1) (AddZeroClass.toHasAdd.{u4} N _inst_2) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3))) f) (map_zero.{u3, u4, u2} M N β (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3) f) v₁) (Finsupp.mapRange.{u1, u3, u4} α M N (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => M -> N) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β M (fun (_x : M) => N) (AddHomClass.toFunLike.{u2, u3, u4} β M N (AddZeroClass.toHasAdd.{u3} M _inst_1) (AddZeroClass.toHasAdd.{u4} N _inst_2) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3))) f) (map_zero.{u3, u4, u2} M N β (AddZeroClass.toHasZero.{u3} M _inst_1) (AddZeroClass.toHasZero.{u4} N _inst_2) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β M N _inst_1 _inst_2 _inst_3) f) v₂)) but is expected to have type forall {α : Type.{u1}} {β : Type.{u3}} {M : Type.{u2}} {N : Type.{u4}} [_inst_1 : AddZeroClass.{u2} M] [_inst_2 : AddZeroClass.{u4} N] [_inst_3 : AddMonoidHomClass.{u3, u2, u4} β M N _inst_1 _inst_2] {f : β} (v₁ : Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (v₂ : Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)), Eq.{max (succ u1) (succ u4)} (Finsupp.{u1, u4} α N (AddZeroClass.toZero.{u4} N _inst_2)) (Finsupp.mapRange.{u1, u2, u4} α M N (AddZeroClass.toZero.{u2} M _inst_1) (AddZeroClass.toZero.{u4} N _inst_2) (FunLike.coe.{succ u3, succ u2, succ u4} β M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => N) _x) (AddHomClass.toFunLike.{u3, u2, u4} β M N (AddZeroClass.toAdd.{u2} M _inst_1) (AddZeroClass.toAdd.{u4} N _inst_2) (AddMonoidHomClass.toAddHomClass.{u3, u2, u4} β M N _inst_1 _inst_2 _inst_3)) f) (map_zero.{u4, u2, u3} M N β (AddZeroClass.toZero.{u2} M _inst_1) (AddZeroClass.toZero.{u4} N _inst_2) (AddMonoidHomClass.toZeroHomClass.{u3, u2, u4} β M N _inst_1 _inst_2 _inst_3) f) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} α M _inst_1)) v₁ v₂)) (HAdd.hAdd.{max u1 u4, max u1 u4, max u1 u4} (Finsupp.{u1, u4} α N (AddZeroClass.toZero.{u4} N _inst_2)) (Finsupp.{u1, u4} α N (AddZeroClass.toZero.{u4} N _inst_2)) (Finsupp.{u1, u4} α N (AddZeroClass.toZero.{u4} N _inst_2)) (instHAdd.{max u1 u4} (Finsupp.{u1, u4} α N (AddZeroClass.toZero.{u4} N _inst_2)) (Finsupp.add.{u1, u4} α N _inst_2)) (Finsupp.mapRange.{u1, u2, u4} α M N (AddZeroClass.toZero.{u2} M _inst_1) (AddZeroClass.toZero.{u4} N _inst_2) (FunLike.coe.{succ u3, succ u2, succ u4} β M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => N) _x) (AddHomClass.toFunLike.{u3, u2, u4} β M N (AddZeroClass.toAdd.{u2} M _inst_1) (AddZeroClass.toAdd.{u4} N _inst_2) (AddMonoidHomClass.toAddHomClass.{u3, u2, u4} β M N _inst_1 _inst_2 _inst_3)) f) (map_zero.{u4, u2, u3} M N β (AddZeroClass.toZero.{u2} M _inst_1) (AddZeroClass.toZero.{u4} N _inst_2) (AddMonoidHomClass.toZeroHomClass.{u3, u2, u4} β M N _inst_1 _inst_2 _inst_3) f) v₁) (Finsupp.mapRange.{u1, u2, u4} α M N (AddZeroClass.toZero.{u2} M _inst_1) (AddZeroClass.toZero.{u4} N _inst_2) (FunLike.coe.{succ u3, succ u2, succ u4} β M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => N) _x) (AddHomClass.toFunLike.{u3, u2, u4} β M N (AddZeroClass.toAdd.{u2} M _inst_1) (AddZeroClass.toAdd.{u4} N _inst_2) (AddMonoidHomClass.toAddHomClass.{u3, u2, u4} β M N _inst_1 _inst_2 _inst_3)) f) (map_zero.{u4, u2, u3} M N β (AddZeroClass.toZero.{u2} M _inst_1) (AddZeroClass.toZero.{u4} N _inst_2) (AddMonoidHomClass.toZeroHomClass.{u3, u2, u4} β M N _inst_1 _inst_2 _inst_3) f) v₂)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range_add' Finsupp.mapRange_add'ₓ'. -/ @@ -1831,7 +1831,7 @@ def embDomain.addMonoidHom (f : α ↪ β) : (α →₀ M) →+ β →₀ M /- warning: finsupp.emb_domain_add -> Finsupp.embDomain_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddZeroClass.{u3} M] (f : Function.Embedding.{succ u1, succ u2} α β) (v : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (w : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)), Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.embDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.hasAdd.{u1, u3} α M _inst_1)) v w)) (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.hasAdd.{u2, u3} β M _inst_1)) (Finsupp.embDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f v) (Finsupp.embDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f w)) + forall {α : Type.{u1}} {β : Type.{u2}} {M : Type.{u3}} [_inst_1 : AddZeroClass.{u3} M] (f : Function.Embedding.{succ u1, succ u2} α β) (v : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (w : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)), Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.embDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f (HAdd.hAdd.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u1 u3} (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.add.{u1, u3} α M _inst_1)) v w)) (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (instHAdd.{max u2 u3} (Finsupp.{u2, u3} β M (AddZeroClass.toHasZero.{u3} M _inst_1)) (Finsupp.add.{u2, u3} β M _inst_1)) (Finsupp.embDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f v) (Finsupp.embDomain.{u1, u2, u3} α β M (AddZeroClass.toHasZero.{u3} M _inst_1) f w)) but is expected to have type forall {α : Type.{u3}} {β : Type.{u2}} {M : Type.{u1}} [_inst_1 : AddZeroClass.{u1} M] (f : Function.Embedding.{succ u3, succ u2} α β) (v : Finsupp.{u3, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (w : Finsupp.{u3, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.embDomain.{u3, u2, u1} α β M (AddZeroClass.toZero.{u1} M _inst_1) f (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u3, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u3, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u3 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u3, u1} α M _inst_1)) v w)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} β M (AddZeroClass.toZero.{u1} M _inst_1)) (Finsupp.add.{u2, u1} β M _inst_1)) (Finsupp.embDomain.{u3, u2, u1} α β M (AddZeroClass.toZero.{u1} M _inst_1) f v) (Finsupp.embDomain.{u3, u2, u1} α β M (AddZeroClass.toZero.{u1} M _inst_1) f w)) Case conversion may be inaccurate. Consider using '#align finsupp.emb_domain_add Finsupp.embDomain_addₓ'. -/ @@ -1872,9 +1872,9 @@ instance [NegZeroClass G] : Neg (α →₀ G) := /- warning: finsupp.coe_neg -> Finsupp.coe_neg is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : NegZeroClass.{u2} G] (g : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)), Eq.{succ (max u1 u2)} (α -> G) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (fun (_x : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (Finsupp.hasNeg.{u1, u2} α G _inst_1) g)) (Neg.neg.{max u1 u2} (α -> G) (Pi.instNeg.{u1, u2} α (fun (ᾰ : α) => G) (fun (i : α) => NegZeroClass.toHasNeg.{u2} G _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (fun (_x : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) g)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : NegZeroClass.{u2} G] (g : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)), Eq.{succ (max u1 u2)} (α -> G) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (fun (_x : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) => α -> G) (Finsupp.coeFun.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (Finsupp.neg.{u1, u2} α G _inst_1) g)) (Neg.neg.{max u1 u2} (α -> G) (Pi.instNeg.{u1, u2} α (fun (ᾰ : α) => G) (fun (i : α) => NegZeroClass.toHasNeg.{u2} G _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (fun (_x : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) => α -> G) (Finsupp.coeFun.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) g)) but is expected to have type - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : NegZeroClass.{u2} G] (g : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) (Finsupp.instNegFinsuppToZero.{u1, u2} α G _inst_1) g)) (Neg.neg.{max u1 u2} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (Pi.instNeg.{u1, u2} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (fun (i : α) => NegZeroClass.toNeg.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) i) _inst_1)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) g)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : NegZeroClass.{u2} G] (g : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) (Finsupp.neg.{u1, u2} α G _inst_1) g)) (Neg.neg.{max u1 u2} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (Pi.instNeg.{u1, u2} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (fun (i : α) => NegZeroClass.toNeg.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) i) _inst_1)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) g)) Case conversion may be inaccurate. Consider using '#align finsupp.coe_neg Finsupp.coe_negₓ'. -/ @[simp] theorem coe_neg [NegZeroClass G] (g : α →₀ G) : ⇑(-g) = -g := @@ -1883,9 +1883,9 @@ theorem coe_neg [NegZeroClass G] (g : α →₀ G) : ⇑(-g) = -g := /- warning: finsupp.neg_apply -> Finsupp.neg_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : NegZeroClass.{u2} G] (g : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (a : α), Eq.{succ u2} G (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (fun (_x : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (Finsupp.hasNeg.{u1, u2} α G _inst_1) g) a) (Neg.neg.{u2} G (NegZeroClass.toHasNeg.{u2} G _inst_1) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (fun (_x : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) g a)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : NegZeroClass.{u2} G] (g : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (a : α), Eq.{succ u2} G (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (fun (_x : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) => α -> G) (Finsupp.coeFun.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (Finsupp.neg.{u1, u2} α G _inst_1) g) a) (Neg.neg.{u2} G (NegZeroClass.toHasNeg.{u2} G _inst_1) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (fun (_x : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) => α -> G) (Finsupp.coeFun.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) g a)) but is expected to have type - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : NegZeroClass.{u2} G] (g : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) (Finsupp.instNegFinsuppToZero.{u1, u2} α G _inst_1) g) a) (Neg.neg.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (NegZeroClass.toNeg.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) g a)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : NegZeroClass.{u2} G] (g : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) (Finsupp.neg.{u1, u2} α G _inst_1) g) a) (Neg.neg.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (NegZeroClass.toNeg.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G _inst_1)) g a)) Case conversion may be inaccurate. Consider using '#align finsupp.neg_apply Finsupp.neg_applyₓ'. -/ theorem neg_apply [NegZeroClass G] (g : α →₀ G) (a : α) : (-g) a = -g a := rfl @@ -1893,9 +1893,9 @@ theorem neg_apply [NegZeroClass G] (g : α →₀ G) (a : α) : (-g) a = -g a := /- warning: finsupp.map_range_neg -> Finsupp.mapRange_neg is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : NegZeroClass.{u2} G] [_inst_2 : NegZeroClass.{u3} H] {f : G -> H} {hf : Eq.{succ u3} H (f (OfNat.ofNat.{u2} G 0 (OfNat.mk.{u2} G 0 (Zero.zero.{u2} G (NegZeroClass.toHasZero.{u2} G _inst_1))))) (OfNat.ofNat.{u3} H 0 (OfNat.mk.{u3} H 0 (Zero.zero.{u3} H (NegZeroClass.toHasZero.{u3} H _inst_2))))}, (forall (x : G), Eq.{succ u3} H (f (Neg.neg.{u2} G (NegZeroClass.toHasNeg.{u2} G _inst_1) x)) (Neg.neg.{u3} H (NegZeroClass.toHasNeg.{u3} H _inst_2) (f x))) -> (forall (v : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α H (NegZeroClass.toHasZero.{u3} H _inst_2)) (Finsupp.mapRange.{u1, u2, u3} α G H (NegZeroClass.toHasZero.{u2} G _inst_1) (NegZeroClass.toHasZero.{u3} H _inst_2) f hf (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (Finsupp.hasNeg.{u1, u2} α G _inst_1) v)) (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α H (NegZeroClass.toHasZero.{u3} H _inst_2)) (Finsupp.hasNeg.{u1, u3} α H _inst_2) (Finsupp.mapRange.{u1, u2, u3} α G H (NegZeroClass.toHasZero.{u2} G _inst_1) (NegZeroClass.toHasZero.{u3} H _inst_2) f hf v))) + forall {α : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : NegZeroClass.{u2} G] [_inst_2 : NegZeroClass.{u3} H] {f : G -> H} {hf : Eq.{succ u3} H (f (OfNat.ofNat.{u2} G 0 (OfNat.mk.{u2} G 0 (Zero.zero.{u2} G (NegZeroClass.toHasZero.{u2} G _inst_1))))) (OfNat.ofNat.{u3} H 0 (OfNat.mk.{u3} H 0 (Zero.zero.{u3} H (NegZeroClass.toHasZero.{u3} H _inst_2))))}, (forall (x : G), Eq.{succ u3} H (f (Neg.neg.{u2} G (NegZeroClass.toHasNeg.{u2} G _inst_1) x)) (Neg.neg.{u3} H (NegZeroClass.toHasNeg.{u3} H _inst_2) (f x))) -> (forall (v : Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α H (NegZeroClass.toHasZero.{u3} H _inst_2)) (Finsupp.mapRange.{u1, u2, u3} α G H (NegZeroClass.toHasZero.{u2} G _inst_1) (NegZeroClass.toHasZero.{u3} H _inst_2) f hf (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toHasZero.{u2} G _inst_1)) (Finsupp.neg.{u1, u2} α G _inst_1) v)) (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α H (NegZeroClass.toHasZero.{u3} H _inst_2)) (Finsupp.neg.{u1, u3} α H _inst_2) (Finsupp.mapRange.{u1, u2, u3} α G H (NegZeroClass.toHasZero.{u2} G _inst_1) (NegZeroClass.toHasZero.{u3} H _inst_2) f hf v))) but is expected to have type - forall {α : Type.{u1}} {G : Type.{u3}} {H : Type.{u2}} [_inst_1 : NegZeroClass.{u3} G] [_inst_2 : NegZeroClass.{u2} H] {f : G -> H} {hf : Eq.{succ u2} H (f (OfNat.ofNat.{u3} G 0 (Zero.toOfNat0.{u3} G (NegZeroClass.toZero.{u3} G _inst_1)))) (OfNat.ofNat.{u2} H 0 (Zero.toOfNat0.{u2} H (NegZeroClass.toZero.{u2} H _inst_2)))}, (forall (x : G), Eq.{succ u2} H (f (Neg.neg.{u3} G (NegZeroClass.toNeg.{u3} G _inst_1) x)) (Neg.neg.{u2} H (NegZeroClass.toNeg.{u2} H _inst_2) (f x))) -> (forall (v : Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G _inst_1)), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H _inst_2)) (Finsupp.mapRange.{u1, u3, u2} α G H (NegZeroClass.toZero.{u3} G _inst_1) (NegZeroClass.toZero.{u2} H _inst_2) f hf (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G _inst_1)) (Finsupp.instNegFinsuppToZero.{u1, u3} α G _inst_1) v)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H _inst_2)) (Finsupp.instNegFinsuppToZero.{u1, u2} α H _inst_2) (Finsupp.mapRange.{u1, u3, u2} α G H (NegZeroClass.toZero.{u3} G _inst_1) (NegZeroClass.toZero.{u2} H _inst_2) f hf v))) + forall {α : Type.{u1}} {G : Type.{u3}} {H : Type.{u2}} [_inst_1 : NegZeroClass.{u3} G] [_inst_2 : NegZeroClass.{u2} H] {f : G -> H} {hf : Eq.{succ u2} H (f (OfNat.ofNat.{u3} G 0 (Zero.toOfNat0.{u3} G (NegZeroClass.toZero.{u3} G _inst_1)))) (OfNat.ofNat.{u2} H 0 (Zero.toOfNat0.{u2} H (NegZeroClass.toZero.{u2} H _inst_2)))}, (forall (x : G), Eq.{succ u2} H (f (Neg.neg.{u3} G (NegZeroClass.toNeg.{u3} G _inst_1) x)) (Neg.neg.{u2} H (NegZeroClass.toNeg.{u2} H _inst_2) (f x))) -> (forall (v : Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G _inst_1)), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H _inst_2)) (Finsupp.mapRange.{u1, u3, u2} α G H (NegZeroClass.toZero.{u3} G _inst_1) (NegZeroClass.toZero.{u2} H _inst_2) f hf (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G _inst_1)) (Finsupp.neg.{u1, u3} α G _inst_1) v)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H _inst_2)) (Finsupp.neg.{u1, u2} α H _inst_2) (Finsupp.mapRange.{u1, u3, u2} α G H (NegZeroClass.toZero.{u3} G _inst_1) (NegZeroClass.toZero.{u2} H _inst_2) f hf v))) Case conversion may be inaccurate. Consider using '#align finsupp.map_range_neg Finsupp.mapRange_negₓ'. -/ theorem mapRange_neg [NegZeroClass G] [NegZeroClass H] {f : G → H} {hf : f 0 = 0} (hf' : ∀ x, f (-x) = -f x) (v : α →₀ G) : mapRange f hf (-v) = -mapRange f hf v := @@ -1904,9 +1904,9 @@ theorem mapRange_neg [NegZeroClass G] [NegZeroClass H] {f : G → H} {hf : f 0 = /- warning: finsupp.map_range_neg' -> Finsupp.mapRange_neg' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {G : Type.{u3}} {H : Type.{u4}} [_inst_1 : AddGroup.{u3} G] [_inst_2 : SubtractionMonoid.{u4} H] [_inst_3 : AddMonoidHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))] {f : β} (v : Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))), Eq.{max (succ u1) (succ u4)} (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.mapRange.{u1, u3, u4} α G H (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => G -> H) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β G (fun (_x : G) => H) (AddHomClass.toFunLike.{u2, u3, u4} β G H (AddZeroClass.toHasAdd.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasAdd.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3))) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3) f) (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (Finsupp.hasNeg.{u1, u3} α G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_1)))) v)) (Neg.neg.{max u1 u4} (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.hasNeg.{u1, u4} α H (SubNegZeroMonoid.toNegZeroClass.{u4} H (SubtractionMonoid.toSubNegZeroMonoid.{u4} H _inst_2))) (Finsupp.mapRange.{u1, u3, u4} α G H (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => G -> H) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β G (fun (_x : G) => H) (AddHomClass.toFunLike.{u2, u3, u4} β G H (AddZeroClass.toHasAdd.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasAdd.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3))) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3) f) v)) + forall {α : Type.{u1}} {β : Type.{u2}} {G : Type.{u3}} {H : Type.{u4}} [_inst_1 : AddGroup.{u3} G] [_inst_2 : SubtractionMonoid.{u4} H] [_inst_3 : AddMonoidHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))] {f : β} (v : Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))), Eq.{max (succ u1) (succ u4)} (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.mapRange.{u1, u3, u4} α G H (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => G -> H) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β G (fun (_x : G) => H) (AddHomClass.toFunLike.{u2, u3, u4} β G H (AddZeroClass.toHasAdd.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasAdd.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3))) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3) f) (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (Finsupp.neg.{u1, u3} α G (SubNegZeroMonoid.toNegZeroClass.{u3} G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_1)))) v)) (Neg.neg.{max u1 u4} (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.neg.{u1, u4} α H (SubNegZeroMonoid.toNegZeroClass.{u4} H (SubtractionMonoid.toSubNegZeroMonoid.{u4} H _inst_2))) (Finsupp.mapRange.{u1, u3, u4} α G H (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => G -> H) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β G (fun (_x : G) => H) (AddHomClass.toFunLike.{u2, u3, u4} β G H (AddZeroClass.toHasAdd.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasAdd.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3))) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3) f) v)) but is expected to have type - forall {α : Type.{u1}} {β : Type.{u2}} {G : Type.{u4}} {H : Type.{u3}} [_inst_1 : AddGroup.{u4} G] [_inst_2 : SubtractionMonoid.{u3} H] [_inst_3 : AddMonoidHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))] {f : β} (v : Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.mapRange.{u1, u4, u3} α G H (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (FunLike.coe.{succ u2, succ u4, succ u3} β G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : G) => H) _x) (AddHomClass.toFunLike.{u2, u4, u3} β G H (AddZeroClass.toAdd.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toAdd.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3)) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3) f) (Neg.neg.{max u1 u4} (Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (Finsupp.instNegFinsuppToZero.{u1, u4} α G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1)))) v)) (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.instNegFinsuppToZero.{u1, u3} α H (SubNegZeroMonoid.toNegZeroClass.{u3} H (SubtractionMonoid.toSubNegZeroMonoid.{u3} H _inst_2))) (Finsupp.mapRange.{u1, u4, u3} α G H (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (FunLike.coe.{succ u2, succ u4, succ u3} β G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : G) => H) _x) (AddHomClass.toFunLike.{u2, u4, u3} β G H (AddZeroClass.toAdd.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toAdd.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3)) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3) f) v)) + forall {α : Type.{u1}} {β : Type.{u2}} {G : Type.{u4}} {H : Type.{u3}} [_inst_1 : AddGroup.{u4} G] [_inst_2 : SubtractionMonoid.{u3} H] [_inst_3 : AddMonoidHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))] {f : β} (v : Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.mapRange.{u1, u4, u3} α G H (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (FunLike.coe.{succ u2, succ u4, succ u3} β G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : G) => H) _x) (AddHomClass.toFunLike.{u2, u4, u3} β G H (AddZeroClass.toAdd.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toAdd.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3)) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3) f) (Neg.neg.{max u1 u4} (Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (Finsupp.neg.{u1, u4} α G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1)))) v)) (Neg.neg.{max u1 u3} (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.neg.{u1, u3} α H (SubNegZeroMonoid.toNegZeroClass.{u3} H (SubtractionMonoid.toSubNegZeroMonoid.{u3} H _inst_2))) (Finsupp.mapRange.{u1, u4, u3} α G H (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (FunLike.coe.{succ u2, succ u4, succ u3} β G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : G) => H) _x) (AddHomClass.toFunLike.{u2, u4, u3} β G H (AddZeroClass.toAdd.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toAdd.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3)) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3) f) v)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range_neg' Finsupp.mapRange_neg'ₓ'. -/ theorem mapRange_neg' [AddGroup G] [SubtractionMonoid H] [AddMonoidHomClass β G H] {f : β} (v : α →₀ G) : mapRange f (map_zero f) (-v) = -mapRange f (map_zero f) v := @@ -1918,9 +1918,9 @@ instance [SubNegZeroMonoid G] : Sub (α →₀ G) := /- warning: finsupp.coe_sub -> Finsupp.coe_sub is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u2} G] (g₁ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (g₂ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))), Eq.{succ (max u1 u2)} (α -> G) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} α G _inst_1)) g₁ g₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (α -> G) (α -> G) (α -> G) (instHSub.{max u1 u2} (α -> G) (Pi.instSub.{u1, u2} α (fun (ᾰ : α) => G) (fun (i : α) => SubNegMonoid.toHasSub.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) g₁) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) g₂)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u2} G] (g₁ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (g₂ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))), Eq.{succ (max u1 u2)} (α -> G) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.coeFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G _inst_1)) g₁ g₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (α -> G) (α -> G) (α -> G) (instHSub.{max u1 u2} (α -> G) (Pi.instSub.{u1, u2} α (fun (ᾰ : α) => G) (fun (i : α) => SubNegMonoid.toHasSub.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.coeFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) g₁) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.coeFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) g₂)) but is expected to have type - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u2} G] (g₁ : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (g₂ : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u1, u2} α G _inst_1)) g₁ g₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (instHSub.{max u1 u2} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (Pi.instSub.{u1, u2} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (fun (i : α) => SubNegMonoid.toSub.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) i) (SubNegZeroMonoid.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) i) _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) g₂)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u2} G] (g₁ : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (g₂ : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.sub.{u1, u2} α G _inst_1)) g₁ g₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (instHSub.{max u1 u2} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (Pi.instSub.{u1, u2} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) ᾰ) (fun (i : α) => SubNegMonoid.toSub.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) i) (SubNegZeroMonoid.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) i) _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) g₂)) Case conversion may be inaccurate. Consider using '#align finsupp.coe_sub Finsupp.coe_subₓ'. -/ @[simp] theorem coe_sub [SubNegZeroMonoid G] (g₁ g₂ : α →₀ G) : ⇑(g₁ - g₂) = g₁ - g₂ := @@ -1929,9 +1929,9 @@ theorem coe_sub [SubNegZeroMonoid G] (g₁ g₂ : α →₀ G) : ⇑(g₁ - g₂ /- warning: finsupp.sub_apply -> Finsupp.sub_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u2} G] (g₁ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (g₂ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (a : α), Eq.{succ u2} G (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} α G _inst_1)) g₁ g₂) a) (HSub.hSub.{u2, u2, u2} G G G (instHSub.{u2} G (SubNegMonoid.toHasSub.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) g₁ a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) g₂ a)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u2} G] (g₁ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (g₂ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (a : α), Eq.{succ u2} G (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.coeFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G _inst_1)) g₁ g₂) a) (HSub.hSub.{u2, u2, u2} G G G (instHSub.{u2} G (SubNegMonoid.toHasSub.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.coeFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) g₁ a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.coeFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) g₂ a)) but is expected to have type - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u2} G] (g₁ : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (g₂ : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u1, u2} α G _inst_1)) g₁ g₂) a) (HSub.hSub.{u2, u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (instHSub.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegMonoid.toSub.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegZeroMonoid.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) g₁ a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) g₂ a)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u2} G] (g₁ : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (g₂ : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) (Finsupp.sub.{u1, u2} α G _inst_1)) g₁ g₂) a) (HSub.hSub.{u2, u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (instHSub.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegMonoid.toSub.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegZeroMonoid.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) g₁ a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G _inst_1))) g₂ a)) Case conversion may be inaccurate. Consider using '#align finsupp.sub_apply Finsupp.sub_applyₓ'. -/ theorem sub_apply [SubNegZeroMonoid G] (g₁ g₂ : α →₀ G) (a : α) : (g₁ - g₂) a = g₁ a - g₂ a := rfl @@ -1939,9 +1939,9 @@ theorem sub_apply [SubNegZeroMonoid G] (g₁ g₂ : α →₀ G) (a : α) : (g /- warning: finsupp.map_range_sub -> Finsupp.mapRange_sub is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : SubNegZeroMonoid.{u2} G] [_inst_2 : SubNegZeroMonoid.{u3} H] {f : G -> H} {hf : Eq.{succ u3} H (f (OfNat.ofNat.{u2} G 0 (OfNat.mk.{u2} G 0 (Zero.zero.{u2} G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1)))))))) (OfNat.ofNat.{u3} H 0 (OfNat.mk.{u3} H 0 (Zero.zero.{u3} H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2)))))))}, (forall (x : G) (y : G), Eq.{succ u3} H (f (HSub.hSub.{u2, u2, u2} G G G (instHSub.{u2} G (SubNegMonoid.toHasSub.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))) x y)) (HSub.hSub.{u3, u3, u3} H H H (instHSub.{u3} H (SubNegMonoid.toHasSub.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))) (f x) (f y))) -> (forall (v₁ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (v₂ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.mapRange.{u1, u2, u3} α G H (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1)))) (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2)))) f hf (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} α G _inst_1)) v₁ v₂)) (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.{u1, u3} α H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.{u1, u3} α H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.hasSub.{u1, u3} α H _inst_2)) (Finsupp.mapRange.{u1, u2, u3} α G H (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1)))) (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2)))) f hf v₁) (Finsupp.mapRange.{u1, u2, u3} α G H (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1)))) (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2)))) f hf v₂))) + forall {α : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : SubNegZeroMonoid.{u2} G] [_inst_2 : SubNegZeroMonoid.{u3} H] {f : G -> H} {hf : Eq.{succ u3} H (f (OfNat.ofNat.{u2} G 0 (OfNat.mk.{u2} G 0 (Zero.zero.{u2} G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1)))))))) (OfNat.ofNat.{u3} H 0 (OfNat.mk.{u3} H 0 (Zero.zero.{u3} H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2)))))))}, (forall (x : G) (y : G), Eq.{succ u3} H (f (HSub.hSub.{u2, u2, u2} G G G (instHSub.{u2} G (SubNegMonoid.toHasSub.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))) x y)) (HSub.hSub.{u3, u3, u3} H H H (instHSub.{u3} H (SubNegMonoid.toHasSub.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))) (f x) (f y))) -> (forall (v₁ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (v₂ : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.mapRange.{u1, u2, u3} α G H (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1)))) (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2)))) f hf (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G _inst_1)) v₁ v₂)) (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.{u1, u3} α H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.{u1, u3} α H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α H (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.sub.{u1, u3} α H _inst_2)) (Finsupp.mapRange.{u1, u2, u3} α G H (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1)))) (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2)))) f hf v₁) (Finsupp.mapRange.{u1, u2, u3} α G H (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (SubNegZeroMonoid.toSubNegMonoid.{u2} G _inst_1)))) (AddZeroClass.toHasZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubNegZeroMonoid.toSubNegMonoid.{u3} H _inst_2)))) f hf v₂))) but is expected to have type - forall {α : Type.{u1}} {G : Type.{u3}} {H : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u3} G] [_inst_2 : SubNegZeroMonoid.{u2} H] {f : G -> H} {hf : Eq.{succ u2} H (f (OfNat.ofNat.{u3} G 0 (Zero.toOfNat0.{u3} G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))))) (OfNat.ofNat.{u2} H 0 (Zero.toOfNat0.{u2} H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))))}, (forall (x : G) (y : G), Eq.{succ u2} H (f (HSub.hSub.{u3, u3, u3} G G G (instHSub.{u3} G (SubNegMonoid.toSub.{u3} G (SubNegZeroMonoid.toSubNegMonoid.{u3} G _inst_1))) x y)) (HSub.hSub.{u2, u2, u2} H H H (instHSub.{u2} H (SubNegMonoid.toSub.{u2} H (SubNegZeroMonoid.toSubNegMonoid.{u2} H _inst_2))) (f x) (f y))) -> (forall (v₁ : Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))) (v₂ : Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))) (Finsupp.mapRange.{u1, u3, u2} α G H (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1)) (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2)) f hf (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))) (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))) (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u1, u3} α G _inst_1)) v₁ v₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))) (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))) (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u1, u2} α H _inst_2)) (Finsupp.mapRange.{u1, u3, u2} α G H (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1)) (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2)) f hf v₁) (Finsupp.mapRange.{u1, u3, u2} α G H (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1)) (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2)) f hf v₂))) + forall {α : Type.{u1}} {G : Type.{u3}} {H : Type.{u2}} [_inst_1 : SubNegZeroMonoid.{u3} G] [_inst_2 : SubNegZeroMonoid.{u2} H] {f : G -> H} {hf : Eq.{succ u2} H (f (OfNat.ofNat.{u3} G 0 (Zero.toOfNat0.{u3} G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))))) (OfNat.ofNat.{u2} H 0 (Zero.toOfNat0.{u2} H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))))}, (forall (x : G) (y : G), Eq.{succ u2} H (f (HSub.hSub.{u3, u3, u3} G G G (instHSub.{u3} G (SubNegMonoid.toSub.{u3} G (SubNegZeroMonoid.toSubNegMonoid.{u3} G _inst_1))) x y)) (HSub.hSub.{u2, u2, u2} H H H (instHSub.{u2} H (SubNegMonoid.toSub.{u2} H (SubNegZeroMonoid.toSubNegMonoid.{u2} H _inst_2))) (f x) (f y))) -> (forall (v₁ : Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))) (v₂ : Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))) (Finsupp.mapRange.{u1, u3, u2} α G H (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1)) (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2)) f hf (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))) (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))) (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α G (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1))) (Finsupp.sub.{u1, u3} α G _inst_1)) v₁ v₂)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))) (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))) (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α H (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2))) (Finsupp.sub.{u1, u2} α H _inst_2)) (Finsupp.mapRange.{u1, u3, u2} α G H (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1)) (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2)) f hf v₁) (Finsupp.mapRange.{u1, u3, u2} α G H (NegZeroClass.toZero.{u3} G (SubNegZeroMonoid.toNegZeroClass.{u3} G _inst_1)) (NegZeroClass.toZero.{u2} H (SubNegZeroMonoid.toNegZeroClass.{u2} H _inst_2)) f hf v₂))) Case conversion may be inaccurate. Consider using '#align finsupp.map_range_sub Finsupp.mapRange_subₓ'. -/ theorem mapRange_sub [SubNegZeroMonoid G] [SubNegZeroMonoid H] {f : G → H} {hf : f 0 = 0} (hf' : ∀ x y, f (x - y) = f x - f y) (v₁ v₂ : α →₀ G) : @@ -1951,9 +1951,9 @@ theorem mapRange_sub [SubNegZeroMonoid G] [SubNegZeroMonoid H] {f : G → H} {hf /- warning: finsupp.map_range_sub' -> Finsupp.mapRange_sub' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {G : Type.{u3}} {H : Type.{u4}} [_inst_1 : AddGroup.{u3} G] [_inst_2 : SubtractionMonoid.{u4} H] [_inst_3 : AddMonoidHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))] {f : β} (v₁ : Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (v₂ : Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))), Eq.{max (succ u1) (succ u4)} (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.mapRange.{u1, u3, u4} α G H (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => G -> H) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β G (fun (_x : G) => H) (AddHomClass.toFunLike.{u2, u3, u4} β G H (AddZeroClass.toHasAdd.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasAdd.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3))) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3) f) (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (Finsupp.hasSub.{u1, u3} α G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_1)))) v₁ v₂)) (HSub.hSub.{max u1 u4, max u1 u4, max u1 u4} (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (instHSub.{max u1 u4} (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.hasSub.{u1, u4} α H (SubtractionMonoid.toSubNegZeroMonoid.{u4} H _inst_2))) (Finsupp.mapRange.{u1, u3, u4} α G H (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => G -> H) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β G (fun (_x : G) => H) (AddHomClass.toFunLike.{u2, u3, u4} β G H (AddZeroClass.toHasAdd.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasAdd.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3))) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3) f) v₁) (Finsupp.mapRange.{u1, u3, u4} α G H (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => G -> H) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β G (fun (_x : G) => H) (AddHomClass.toFunLike.{u2, u3, u4} β G H (AddZeroClass.toHasAdd.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasAdd.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3))) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3) f) v₂)) + forall {α : Type.{u1}} {β : Type.{u2}} {G : Type.{u3}} {H : Type.{u4}} [_inst_1 : AddGroup.{u3} G] [_inst_2 : SubtractionMonoid.{u4} H] [_inst_3 : AddMonoidHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))] {f : β} (v₁ : Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (v₂ : Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))), Eq.{max (succ u1) (succ u4)} (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.mapRange.{u1, u3, u4} α G H (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => G -> H) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β G (fun (_x : G) => H) (AddHomClass.toFunLike.{u2, u3, u4} β G H (AddZeroClass.toHasAdd.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasAdd.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3))) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3) f) (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α G (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))))) (Finsupp.sub.{u1, u3} α G (SubtractionMonoid.toSubNegZeroMonoid.{u3} G (AddGroup.toSubtractionMonoid.{u3} G _inst_1)))) v₁ v₂)) (HSub.hSub.{max u1 u4, max u1 u4, max u1 u4} (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (instHSub.{max u1 u4} (Finsupp.{u1, u4} α H (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))))) (Finsupp.sub.{u1, u4} α H (SubtractionMonoid.toSubNegZeroMonoid.{u4} H _inst_2))) (Finsupp.mapRange.{u1, u3, u4} α G H (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => G -> H) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β G (fun (_x : G) => H) (AddHomClass.toFunLike.{u2, u3, u4} β G H (AddZeroClass.toHasAdd.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasAdd.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3))) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3) f) v₁) (Finsupp.mapRange.{u1, u3, u4} α G H (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (coeFn.{succ u2, max (succ u3) (succ u4)} β (fun (_x : β) => G -> H) (FunLike.hasCoeToFun.{succ u2, succ u3, succ u4} β G (fun (_x : G) => H) (AddHomClass.toFunLike.{u2, u3, u4} β G H (AddZeroClass.toHasAdd.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasAdd.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3))) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toHasZero.{u3} G (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1)))) (AddZeroClass.toHasZero.{u4} H (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u3, u4} β G H (AddMonoid.toAddZeroClass.{u3} G (SubNegMonoid.toAddMonoid.{u3} G (AddGroup.toSubNegMonoid.{u3} G _inst_1))) (AddMonoid.toAddZeroClass.{u4} H (SubNegMonoid.toAddMonoid.{u4} H (SubtractionMonoid.toSubNegMonoid.{u4} H _inst_2))) _inst_3) f) v₂)) but is expected to have type - forall {α : Type.{u1}} {β : Type.{u2}} {G : Type.{u4}} {H : Type.{u3}} [_inst_1 : AddGroup.{u4} G] [_inst_2 : SubtractionMonoid.{u3} H] [_inst_3 : AddMonoidHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))] {f : β} (v₁ : Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (v₂ : Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.mapRange.{u1, u4, u3} α G H (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (FunLike.coe.{succ u2, succ u4, succ u3} β G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : G) => H) _x) (AddHomClass.toFunLike.{u2, u4, u3} β G H (AddZeroClass.toAdd.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toAdd.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3)) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3) f) (HSub.hSub.{max u1 u4, max u1 u4, max u1 u4} (Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (instHSub.{max u1 u4} (Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u1, u4} α G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1)))) v₁ v₂)) (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u1, u3} α H (SubtractionMonoid.toSubNegZeroMonoid.{u3} H _inst_2))) (Finsupp.mapRange.{u1, u4, u3} α G H (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (FunLike.coe.{succ u2, succ u4, succ u3} β G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : G) => H) _x) (AddHomClass.toFunLike.{u2, u4, u3} β G H (AddZeroClass.toAdd.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toAdd.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3)) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3) f) v₁) (Finsupp.mapRange.{u1, u4, u3} α G H (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (FunLike.coe.{succ u2, succ u4, succ u3} β G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : G) => H) _x) (AddHomClass.toFunLike.{u2, u4, u3} β G H (AddZeroClass.toAdd.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toAdd.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3)) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3) f) v₂)) + forall {α : Type.{u1}} {β : Type.{u2}} {G : Type.{u4}} {H : Type.{u3}} [_inst_1 : AddGroup.{u4} G] [_inst_2 : SubtractionMonoid.{u3} H] [_inst_3 : AddMonoidHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))] {f : β} (v₁ : Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (v₂ : Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.mapRange.{u1, u4, u3} α G H (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (FunLike.coe.{succ u2, succ u4, succ u3} β G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : G) => H) _x) (AddHomClass.toFunLike.{u2, u4, u3} β G H (AddZeroClass.toAdd.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toAdd.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3)) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3) f) (HSub.hSub.{max u1 u4, max u1 u4, max u1 u4} (Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (instHSub.{max u1 u4} (Finsupp.{u1, u4} α G (NegZeroClass.toZero.{u4} G (SubNegZeroMonoid.toNegZeroClass.{u4} G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1))))) (Finsupp.sub.{u1, u4} α G (SubtractionMonoid.toSubNegZeroMonoid.{u4} G (AddGroup.toSubtractionMonoid.{u4} G _inst_1)))) v₁ v₂)) (HSub.hSub.{max u1 u3, max u1 u3, max u1 u3} (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (instHSub.{max u1 u3} (Finsupp.{u1, u3} α H (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))))) (Finsupp.sub.{u1, u3} α H (SubtractionMonoid.toSubNegZeroMonoid.{u3} H _inst_2))) (Finsupp.mapRange.{u1, u4, u3} α G H (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (FunLike.coe.{succ u2, succ u4, succ u3} β G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : G) => H) _x) (AddHomClass.toFunLike.{u2, u4, u3} β G H (AddZeroClass.toAdd.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toAdd.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3)) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3) f) v₁) (Finsupp.mapRange.{u1, u4, u3} α G H (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (FunLike.coe.{succ u2, succ u4, succ u3} β G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : G) => H) _x) (AddHomClass.toFunLike.{u2, u4, u3} β G H (AddZeroClass.toAdd.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toAdd.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3)) f) (map_zero.{u3, u4, u2} G H β (AddZeroClass.toZero.{u4} G (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1)))) (AddZeroClass.toZero.{u3} H (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2)))) (AddMonoidHomClass.toZeroHomClass.{u2, u4, u3} β G H (AddMonoid.toAddZeroClass.{u4} G (SubNegMonoid.toAddMonoid.{u4} G (AddGroup.toSubNegMonoid.{u4} G _inst_1))) (AddMonoid.toAddZeroClass.{u3} H (SubNegMonoid.toAddMonoid.{u3} H (SubtractionMonoid.toSubNegMonoid.{u3} H _inst_2))) _inst_3) f) v₂)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range_sub' Finsupp.mapRange_sub'ₓ'. -/ theorem mapRange_sub' [AddGroup G] [SubtractionMonoid H] [AddMonoidHomClass β G H] {f : β} (v₁ v₂ : α →₀ G) : @@ -1982,7 +1982,7 @@ instance [AddCommGroup G] : AddCommGroup (α →₀ G) := /- warning: finsupp.single_add_single_eq_single_add_single -> Finsupp.single_add_single_eq_single_add_single is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] {k : α} {l : α} {m : α} {n : α} {u : M} {v : M}, (Ne.{succ u2} M u (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_1))))))) -> (Ne.{succ u2} M v (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_1))))))) -> (Iff (Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) k u) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) l v)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.hasAdd.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) m u) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) n v))) (Or (And (Eq.{succ u1} α k m) (Eq.{succ u1} α l n)) (Or (And (Eq.{succ u2} M u v) (And (Eq.{succ u1} α k n) (Eq.{succ u1} α l m))) (And (Eq.{succ u2} M (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) u v) (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_1))))))) (And (Eq.{succ u1} α k l) (Eq.{succ u1} α m n)))))) + forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] {k : α} {l : α} {m : α} {n : α} {u : M} {v : M}, (Ne.{succ u2} M u (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_1))))))) -> (Ne.{succ u2} M v (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_1))))))) -> (Iff (Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) k u) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) l v)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) m u) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) n v))) (Or (And (Eq.{succ u1} α k m) (Eq.{succ u1} α l n)) (Or (And (Eq.{succ u2} M u v) (And (Eq.{succ u1} α k n) (Eq.{succ u1} α l m))) (And (Eq.{succ u2} M (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) u v) (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_1))))))) (And (Eq.{succ u1} α k l) (Eq.{succ u1} α m n)))))) but is expected to have type forall {α : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommMonoid.{u2} M] {k : α} {l : α} {m : α} {n : α} {u : M} {v : M}, (Ne.{succ u2} M u (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))))) -> (Ne.{succ u2} M v (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))))) -> (Iff (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.single.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) k u) (Finsupp.single.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) l v)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))) (Finsupp.add.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) (Finsupp.single.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) m u) (Finsupp.single.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) n v))) (Or (And (Eq.{succ u1} α k m) (Eq.{succ u1} α l n)) (Or (And (Eq.{succ u2} M u v) (And (Eq.{succ u1} α k n) (Eq.{succ u1} α l m))) (And (Eq.{succ u2} M (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)))) u v) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1))))) (And (Eq.{succ u1} α k l) (Eq.{succ u1} α m n)))))) Case conversion may be inaccurate. Consider using '#align finsupp.single_add_single_eq_single_add_single Finsupp.single_add_single_eq_single_add_singleₓ'. -/ @@ -1998,9 +1998,9 @@ theorem single_add_single_eq_single_add_single [AddCommMonoid M] {k l m n : α} /- warning: finsupp.support_neg -> Finsupp.support_neg is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasNeg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f)) (Finsupp.support.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) f) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.neg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f)) (Finsupp.support.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) f) but is expected to have type - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.instNegFinsuppToZero.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f)) (Finsupp.support.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.neg.{u1, u2} α G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f)) (Finsupp.support.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f) Case conversion may be inaccurate. Consider using '#align finsupp.support_neg Finsupp.support_negₓ'. -/ @[simp] theorem support_neg [AddGroup G] (f : α →₀ G) : support (-f) = support f := @@ -2013,9 +2013,9 @@ theorem support_neg [AddGroup G] (f : α →₀ G) : support (-f) = support f := /- warning: finsupp.support_sub -> Finsupp.support_sub is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : AddGroup.{u2} G] {f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))} {g : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))}, HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))) (Finsupp.hasSub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_2)))) f g)) (Union.union.{u1} (Finset.{u1} α) (Finset.hasUnion.{u1} α (fun (a : α) (b : α) => _inst_1 a b)) (Finsupp.support.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2)))) f) (Finsupp.support.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2)))) g)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : AddGroup.{u2} G] {f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))} {g : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))}, HasSubset.Subset.{u1} (Finset.{u1} α) (Finset.hasSubset.{u1} α) (Finsupp.support.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2))))) (Finsupp.sub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_2)))) f g)) (Union.union.{u1} (Finset.{u1} α) (Finset.hasUnion.{u1} α (fun (a : α) (b : α) => _inst_1 a b)) (Finsupp.support.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2)))) f) (Finsupp.support.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_2)))) g)) but is expected to have type - forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : AddGroup.{u1} G] {f : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))} {g : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))}, HasSubset.Subset.{u2} (Finset.{u2} α) (Finset.instHasSubsetFinset.{u2} α) (Finsupp.support.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2)))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2)))) f g)) (Union.union.{u2} (Finset.{u2} α) (Finset.instUnionFinset.{u2} α (fun (a : α) (b : α) => _inst_1 a b)) (Finsupp.support.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2)))) f) (Finsupp.support.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2)))) g)) + forall {α : Type.{u2}} {G : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : AddGroup.{u1} G] {f : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))} {g : Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))}, HasSubset.Subset.{u2} (Finset.{u2} α) (Finset.instHasSubsetFinset.{u2} α) (Finsupp.support.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2)))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))) (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2))))) (Finsupp.sub.{u2, u1} α G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2)))) f g)) (Union.union.{u2} (Finset.{u2} α) (Finset.instUnionFinset.{u2} α (fun (a : α) (b : α) => _inst_1 a b)) (Finsupp.support.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2)))) f) (Finsupp.support.{u2, u1} α G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (AddGroup.toSubtractionMonoid.{u1} G _inst_2)))) g)) Case conversion may be inaccurate. Consider using '#align finsupp.support_sub Finsupp.support_subₓ'. -/ theorem support_sub [DecidableEq α] [AddGroup G] {f g : α →₀ G} : support (f - g) ⊆ support f ∪ support g := @@ -2026,9 +2026,9 @@ theorem support_sub [DecidableEq α] [AddGroup G] {f g : α →₀ G} : /- warning: finsupp.erase_eq_sub_single -> Finsupp.erase_eq_sub_single is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (a : α), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a f) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) f a))) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (a : α), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.erase.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a f) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.coeFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) f a))) but is expected to have type - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (a : α), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.erase.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) a f) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (AddGroup.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1))))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f (Finsupp.single.{u1, u2} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (AddGroup.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1)))) a (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) f a))) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (a : α), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.erase.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) a f) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (AddGroup.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1))))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f (Finsupp.single.{u1, u2} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (AddGroup.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1)))) a (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) f a))) Case conversion may be inaccurate. Consider using '#align finsupp.erase_eq_sub_single Finsupp.erase_eq_sub_singleₓ'. -/ theorem erase_eq_sub_single [AddGroup G] (f : α →₀ G) (a : α) : f.eraseₓ a = f - single a (f a) := by @@ -2040,9 +2040,9 @@ theorem erase_eq_sub_single [AddGroup G] (f : α →₀ G) (a : α) : f.eraseₓ /- warning: finsupp.update_eq_sub_add_single -> Finsupp.update_eq_sub_add_single is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (a : α) (b : G), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.update.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) f a b) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasAdd.{u1, u2} α G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.hasSub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.hasCoeToFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) f a))) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a b)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (a : α) (b : G), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.update.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) f a b) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.add.{u1, u2} α G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (fun (_x : Finsupp.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) => α -> G) (Finsupp.coeFun.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) f a))) (Finsupp.single.{u1, u2} α G (AddZeroClass.toHasZero.{u2} G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1)))) a b)) but is expected to have type - forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (a : α) (b : G), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.update.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f a b) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.add.{u1, u2} α G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (AddGroup.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1))))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f (Finsupp.single.{u1, u2} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (AddGroup.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1)))) a (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) f a))) (Finsupp.single.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) a b)) + forall {α : Type.{u1}} {G : Type.{u2}} [_inst_1 : AddGroup.{u2} G] (f : Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (a : α) (b : G), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.update.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f a b) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.add.{u1, u2} α G (AddMonoid.toAddZeroClass.{u2} G (SubNegMonoid.toAddMonoid.{u2} G (AddGroup.toSubNegMonoid.{u2} G _inst_1))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.{u1, u2} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (AddGroup.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1))))) (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) (Finsupp.sub.{u1, u2} α G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) f (Finsupp.single.{u1, u2} α ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) (AddGroup.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) a) _inst_1)))) a (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => G) _x) (Finsupp.funLike.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1))))) f a))) (Finsupp.single.{u1, u2} α G (NegZeroClass.toZero.{u2} G (SubNegZeroMonoid.toNegZeroClass.{u2} G (SubtractionMonoid.toSubNegZeroMonoid.{u2} G (AddGroup.toSubtractionMonoid.{u2} G _inst_1)))) a b)) Case conversion may be inaccurate. Consider using '#align finsupp.update_eq_sub_add_single Finsupp.update_eq_sub_add_singleₓ'. -/ theorem update_eq_sub_add_single [AddGroup G] (f : α →₀ G) (a : α) (b : G) : f.update a b = f - single a (f a) + single a b := by diff --git a/Mathbin/Data/Finsupp/Fin.lean b/Mathbin/Data/Finsupp/Fin.lean index e5f4f7f778..6a7207b0a0 100644 --- a/Mathbin/Data/Finsupp/Fin.lean +++ b/Mathbin/Data/Finsupp/Fin.lean @@ -54,7 +54,7 @@ theorem tail_apply : tail t i = t i.succ := /- warning: finsupp.cons_zero -> Finsupp.cons_zero is a dubious translation: lean 3 declaration is - forall {n : Nat} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (y : M) (s : Finsupp.{0, u1} (Fin n) M _inst_1), Eq.{succ u1} M (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) (fun (_x : Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> M) (Finsupp.hasCoeToFun.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) (Finsupp.cons.{u1} n M _inst_1 y s) (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasZeroOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) y + forall {n : Nat} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (y : M) (s : Finsupp.{0, u1} (Fin n) M _inst_1), Eq.{succ u1} M (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) (fun (_x : Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> M) (Finsupp.coeFun.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) (Finsupp.cons.{u1} n M _inst_1 y s) (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasZeroOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) y but is expected to have type forall {n : Nat} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (y : M) (s : Finsupp.{0, u1} (Fin n) M _inst_1), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => M) (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 0 (NeZero.succ n)))) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) M _inst_1) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => M) _x) (Finsupp.funLike.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) M _inst_1) (Finsupp.cons.{u1} n M _inst_1 y s) (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 0 (NeZero.succ n)))) y Case conversion may be inaccurate. Consider using '#align finsupp.cons_zero Finsupp.cons_zeroₓ'. -/ @@ -79,7 +79,7 @@ theorem tail_cons : tail (cons y s) = s := /- warning: finsupp.cons_tail -> Finsupp.cons_tail is a dubious translation: lean 3 declaration is - forall {n : Nat} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (t : Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1), Eq.{succ u1} (Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) (Finsupp.cons.{u1} n M _inst_1 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) (fun (_x : Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> M) (Finsupp.hasCoeToFun.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) t (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasZeroOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) (Finsupp.tail.{u1} n M _inst_1 t)) t + forall {n : Nat} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (t : Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1), Eq.{succ u1} (Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) (Finsupp.cons.{u1} n M _inst_1 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) (fun (_x : Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> M) (Finsupp.coeFun.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) M _inst_1) t (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasZeroOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) (Finsupp.tail.{u1} n M _inst_1 t)) t but is expected to have type forall {n : Nat} {M : Type.{u1}} [_inst_1 : Zero.{u1} M] (t : Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) M _inst_1), Eq.{succ u1} (Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => M) (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 0 (NeZero.succ n)))) _inst_1) (Finsupp.cons.{u1} n ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => M) (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 0 (NeZero.succ n)))) _inst_1 (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) M _inst_1) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => M) _x) (Finsupp.funLike.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) M _inst_1) t (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 0 (NeZero.succ n)))) (Finsupp.tail.{u1} n ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => M) (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 0 (NeZero.succ n)))) _inst_1 t)) t Case conversion may be inaccurate. Consider using '#align finsupp.cons_tail Finsupp.cons_tailₓ'. -/ diff --git a/Mathbin/Data/Finsupp/Indicator.lean b/Mathbin/Data/Finsupp/Indicator.lean index 9ba945cf65..0ca6e07b9d 100644 --- a/Mathbin/Data/Finsupp/Indicator.lean +++ b/Mathbin/Data/Finsupp/Indicator.lean @@ -55,7 +55,7 @@ def indicator (s : Finset ι) (f : ∀ i ∈ s, α) : ι →₀ α /- warning: finsupp.indicator_of_mem -> Finsupp.indicator_of_mem is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] {s : Finset.{u1} ι} {i : ι} (hi : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) (f : forall (i : ι), (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) -> α), Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) (Finsupp.indicator.{u1, u2} ι α _inst_1 s f) i) (f i hi) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] {s : Finset.{u1} ι} {i : ι} (hi : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) (f : forall (i : ι), (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) -> α), Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) (Finsupp.indicator.{u1, u2} ι α _inst_1 s f) i) (f i hi) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : Zero.{u1} α] {s : Finset.{u2} ι} {i : ι} (hi : Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i s) (f : forall (i : ι), (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i s) -> α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α _inst_1) (Finsupp.indicator.{u2, u1} ι α _inst_1 s f) i) (f i hi) Case conversion may be inaccurate. Consider using '#align finsupp.indicator_of_mem Finsupp.indicator_of_memₓ'. -/ @@ -65,7 +65,7 @@ theorem indicator_of_mem (hi : i ∈ s) (f : ∀ i ∈ s, α) : indicator s f i /- warning: finsupp.indicator_of_not_mem -> Finsupp.indicator_of_not_mem is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] {s : Finset.{u1} ι} {i : ι}, (Not (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s)) -> (forall (f : forall (i : ι), (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) -> α), Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) (Finsupp.indicator.{u1, u2} ι α _inst_1 s f) i) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α _inst_1)))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] {s : Finset.{u1} ι} {i : ι}, (Not (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s)) -> (forall (f : forall (i : ι), (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) -> α), Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) (Finsupp.indicator.{u1, u2} ι α _inst_1 s f) i) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α _inst_1)))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : Zero.{u1} α] {s : Finset.{u2} ι} {i : ι}, (Not (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i s)) -> (forall (f : forall (i : ι), (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i s) -> α), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α _inst_1) (Finsupp.indicator.{u2, u1} ι α _inst_1 s f) i) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.indicator_of_not_mem Finsupp.indicator_of_not_memₓ'. -/ @@ -77,7 +77,7 @@ variable (s i) /- warning: finsupp.indicator_apply -> Finsupp.indicator_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] (s : Finset.{u1} ι) (f : forall (i : ι), (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) -> α) (i : ι) [_inst_2 : DecidableEq.{succ u1} ι], Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) (Finsupp.indicator.{u1, u2} ι α _inst_1 s f) i) (dite.{succ u2} α (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) (Finset.decidableMem.{u1} ι (fun (a : ι) (b : ι) => _inst_2 a b) i s) (fun (hi : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) => f i hi) (fun (hi : Not (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s)) => OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α _inst_1)))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] (s : Finset.{u1} ι) (f : forall (i : ι), (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) -> α) (i : ι) [_inst_2 : DecidableEq.{succ u1} ι], Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) (Finsupp.indicator.{u1, u2} ι α _inst_1 s f) i) (dite.{succ u2} α (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) (Finset.decidableMem.{u1} ι (fun (a : ι) (b : ι) => _inst_2 a b) i s) (fun (hi : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) => f i hi) (fun (hi : Not (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s)) => OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α _inst_1)))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : Zero.{u1} α] (s : Finset.{u2} ι) (f : forall (i : ι), (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i s) -> α) (i : ι) [_inst_2 : DecidableEq.{succ u2} ι], Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α _inst_1) (Finsupp.indicator.{u2, u1} ι α _inst_1 s f) i) (dite.{succ u1} α (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i s) (Finset.decidableMem.{u2} ι (fun (a : ι) (b : ι) => _inst_2 a b) i s) (fun (hi : Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i s) => f i hi) (fun (hi : Not (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i s)) => OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α _inst_1))) Case conversion may be inaccurate. Consider using '#align finsupp.indicator_apply Finsupp.indicator_applyₓ'. -/ diff --git a/Mathbin/Data/Finsupp/Interval.lean b/Mathbin/Data/Finsupp/Interval.lean index 373b2e8b76..0a48808537 100644 --- a/Mathbin/Data/Finsupp/Interval.lean +++ b/Mathbin/Data/Finsupp/Interval.lean @@ -124,7 +124,7 @@ instance : LocallyFiniteOrder (ι →₀ α) := by /- warning: finsupp.Icc_eq -> Finsupp.icc_eq is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : PartialOrder.{u2} α] [_inst_2 : Zero.{u2} α] [_inst_3 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1)] (f : Finsupp.{u1, u2} ι α _inst_2) (g : Finsupp.{u1, u2} ι α _inst_2) [_inst_4 : DecidableEq.{succ u1} ι], Eq.{succ (max u1 u2)} (Finset.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2)) (Finset.Icc.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finsupp.preorder.{u1, u2} ι α _inst_2 (PartialOrder.toPreorder.{u2} α _inst_1)) (Finsupp.locallyFiniteOrder.{u1, u2} ι α _inst_1 _inst_2 _inst_3) f g) (Finset.finsupp.{u1, u2} ι α _inst_2 (Union.union.{u1} (Finset.{u1} ι) (Finset.hasUnion.{u1} ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.support.{u1, u2} ι α _inst_2 f) (Finsupp.support.{u1, u2} ι α _inst_2 g)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_2)) (fun (_x : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_2)) => ι -> (Finset.{u2} α)) (Finsupp.hasCoeToFun.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_2)) (Finsupp.rangeIcc.{u1, u2} ι α _inst_2 _inst_1 _inst_3 f g))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : PartialOrder.{u2} α] [_inst_2 : Zero.{u2} α] [_inst_3 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1)] (f : Finsupp.{u1, u2} ι α _inst_2) (g : Finsupp.{u1, u2} ι α _inst_2) [_inst_4 : DecidableEq.{succ u1} ι], Eq.{succ (max u1 u2)} (Finset.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2)) (Finset.Icc.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finsupp.preorder.{u1, u2} ι α _inst_2 (PartialOrder.toPreorder.{u2} α _inst_1)) (Finsupp.locallyFiniteOrder.{u1, u2} ι α _inst_1 _inst_2 _inst_3) f g) (Finset.finsupp.{u1, u2} ι α _inst_2 (Union.union.{u1} (Finset.{u1} ι) (Finset.hasUnion.{u1} ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.support.{u1, u2} ι α _inst_2 f) (Finsupp.support.{u1, u2} ι α _inst_2 g)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_2)) (fun (_x : Finsupp.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_2)) => ι -> (Finset.{u2} α)) (Finsupp.coeFun.{u1, u2} ι (Finset.{u2} α) (Finset.zero.{u2} α _inst_2)) (Finsupp.rangeIcc.{u1, u2} ι α _inst_2 _inst_1 _inst_3 f g))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : PartialOrder.{u1} α] [_inst_2 : Zero.{u1} α] [_inst_3 : LocallyFiniteOrder.{u1} α (PartialOrder.toPreorder.{u1} α _inst_1)] (f : Finsupp.{u2, u1} ι α _inst_2) (g : Finsupp.{u2, u1} ι α _inst_2), Eq.{max (succ u2) (succ u1)} (Finset.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_2)) (Finset.Icc.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_2) (Finsupp.preorder.{u2, u1} ι α _inst_2 (PartialOrder.toPreorder.{u1} α _inst_1)) (Finsupp.instLocallyFiniteOrderFinsuppPreorderToPreorder.{u2, u1} ι α _inst_1 _inst_2 _inst_3) f g) (Finset.finsupp.{u2, u1} ι α _inst_2 (Union.union.{u2} (Finset.{u2} ι) (Finset.instUnionFinset.{u2} ι (fun (a : ι) (b : ι) => Classical.propDecidable (Eq.{succ u2} ι a b))) (Finsupp.support.{u2, u1} ι α _inst_2 f) (Finsupp.support.{u2, u1} ι α _inst_2 g)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_2)) ι (fun (a : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Finset.{u1} α) a) (Finsupp.funLike.{u2, u1} ι (Finset.{u1} α) (Finset.zero.{u1} α _inst_2)) (Finsupp.rangeIcc.{u2, u1} ι α _inst_2 _inst_1 _inst_3 f g))) Case conversion may be inaccurate. Consider using '#align finsupp.Icc_eq Finsupp.icc_eqₓ'. -/ @@ -134,7 +134,7 @@ theorem icc_eq [DecidableEq ι] : Icc f g = (f.support ∪ g.support).Finsupp (f /- warning: finsupp.card_Icc -> Finsupp.card_Icc is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : PartialOrder.{u2} α] [_inst_2 : Zero.{u2} α] [_inst_3 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1)] (f : Finsupp.{u1, u2} ι α _inst_2) (g : Finsupp.{u1, u2} ι α _inst_2) [_inst_4 : DecidableEq.{succ u1} ι], Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finset.Icc.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finsupp.preorder.{u1, u2} ι α _inst_2 (PartialOrder.toPreorder.{u2} α _inst_1)) (Finsupp.locallyFiniteOrder.{u1, u2} ι α _inst_1 _inst_2 _inst_3) f g)) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Union.union.{u1} (Finset.{u1} ι) (Finset.hasUnion.{u1} ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.support.{u1, u2} ι α _inst_2 f) (Finsupp.support.{u1, u2} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u2} α (Finset.Icc.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1) _inst_3 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_2) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_2) g i)))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : PartialOrder.{u2} α] [_inst_2 : Zero.{u2} α] [_inst_3 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1)] (f : Finsupp.{u1, u2} ι α _inst_2) (g : Finsupp.{u1, u2} ι α _inst_2) [_inst_4 : DecidableEq.{succ u1} ι], Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finset.Icc.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finsupp.preorder.{u1, u2} ι α _inst_2 (PartialOrder.toPreorder.{u2} α _inst_1)) (Finsupp.locallyFiniteOrder.{u1, u2} ι α _inst_1 _inst_2 _inst_3) f g)) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Union.union.{u1} (Finset.{u1} ι) (Finset.hasUnion.{u1} ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.support.{u1, u2} ι α _inst_2 f) (Finsupp.support.{u1, u2} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u2} α (Finset.Icc.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1) _inst_3 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_2) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_2) g i)))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : PartialOrder.{u1} α] [_inst_2 : Zero.{u1} α] [_inst_3 : LocallyFiniteOrder.{u1} α (PartialOrder.toPreorder.{u1} α _inst_1)] (f : Finsupp.{u2, u1} ι α _inst_2) (g : Finsupp.{u2, u1} ι α _inst_2), Eq.{1} Nat (Finset.card.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_2) (Finset.Icc.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_2) (Finsupp.preorder.{u2, u1} ι α _inst_2 (PartialOrder.toPreorder.{u1} α _inst_1)) (Finsupp.instLocallyFiniteOrderFinsuppPreorderToPreorder.{u2, u1} ι α _inst_1 _inst_2 _inst_3) f g)) (Finset.prod.{0, u2} Nat ι Nat.commMonoid (Union.union.{u2} (Finset.{u2} ι) (Finset.instUnionFinset.{u2} ι (fun (a : ι) (b : ι) => Classical.propDecidable (Eq.{succ u2} ι a b))) (Finsupp.support.{u2, u1} ι α _inst_2 f) (Finsupp.support.{u2, u1} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (Finset.Icc.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (PartialOrder.toPreorder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1) _inst_3 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_2) ι (fun (a : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) (Finsupp.funLike.{u2, u1} ι α _inst_2) f i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_2) ι (fun (a : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) (Finsupp.funLike.{u2, u1} ι α _inst_2) g i)))) Case conversion may be inaccurate. Consider using '#align finsupp.card_Icc Finsupp.card_Iccₓ'. -/ @@ -145,7 +145,7 @@ theorem card_Icc [DecidableEq ι] : /- warning: finsupp.card_Ico -> Finsupp.card_Ico is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : PartialOrder.{u2} α] [_inst_2 : Zero.{u2} α] [_inst_3 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1)] (f : Finsupp.{u1, u2} ι α _inst_2) (g : Finsupp.{u1, u2} ι α _inst_2) [_inst_4 : DecidableEq.{succ u1} ι], Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finset.Ico.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finsupp.preorder.{u1, u2} ι α _inst_2 (PartialOrder.toPreorder.{u2} α _inst_1)) (Finsupp.locallyFiniteOrder.{u1, u2} ι α _inst_1 _inst_2 _inst_3) f g)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Union.union.{u1} (Finset.{u1} ι) (Finset.hasUnion.{u1} ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.support.{u1, u2} ι α _inst_2 f) (Finsupp.support.{u1, u2} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u2} α (Finset.Icc.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1) _inst_3 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_2) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_2) g i)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : PartialOrder.{u2} α] [_inst_2 : Zero.{u2} α] [_inst_3 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1)] (f : Finsupp.{u1, u2} ι α _inst_2) (g : Finsupp.{u1, u2} ι α _inst_2) [_inst_4 : DecidableEq.{succ u1} ι], Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finset.Ico.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finsupp.preorder.{u1, u2} ι α _inst_2 (PartialOrder.toPreorder.{u2} α _inst_1)) (Finsupp.locallyFiniteOrder.{u1, u2} ι α _inst_1 _inst_2 _inst_3) f g)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Union.union.{u1} (Finset.{u1} ι) (Finset.hasUnion.{u1} ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.support.{u1, u2} ι α _inst_2 f) (Finsupp.support.{u1, u2} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u2} α (Finset.Icc.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1) _inst_3 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_2) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_2) g i)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : PartialOrder.{u1} α] [_inst_2 : Zero.{u1} α] [_inst_3 : LocallyFiniteOrder.{u1} α (PartialOrder.toPreorder.{u1} α _inst_1)] (f : Finsupp.{u2, u1} ι α _inst_2) (g : Finsupp.{u2, u1} ι α _inst_2), Eq.{1} Nat (Finset.card.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_2) (Finset.Ico.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_2) (Finsupp.preorder.{u2, u1} ι α _inst_2 (PartialOrder.toPreorder.{u1} α _inst_1)) (Finsupp.instLocallyFiniteOrderFinsuppPreorderToPreorder.{u2, u1} ι α _inst_1 _inst_2 _inst_3) f g)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (Finset.prod.{0, u2} Nat ι Nat.commMonoid (Union.union.{u2} (Finset.{u2} ι) (Finset.instUnionFinset.{u2} ι (fun (a : ι) (b : ι) => Classical.propDecidable (Eq.{succ u2} ι a b))) (Finsupp.support.{u2, u1} ι α _inst_2 f) (Finsupp.support.{u2, u1} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (Finset.Icc.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (PartialOrder.toPreorder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1) _inst_3 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_2) ι (fun (a : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) (Finsupp.funLike.{u2, u1} ι α _inst_2) f i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_2) ι (fun (a : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) (Finsupp.funLike.{u2, u1} ι α _inst_2) g i)))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) Case conversion may be inaccurate. Consider using '#align finsupp.card_Ico Finsupp.card_Icoₓ'. -/ @@ -156,7 +156,7 @@ theorem card_Ico [DecidableEq ι] : /- warning: finsupp.card_Ioc -> Finsupp.card_Ioc is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : PartialOrder.{u2} α] [_inst_2 : Zero.{u2} α] [_inst_3 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1)] (f : Finsupp.{u1, u2} ι α _inst_2) (g : Finsupp.{u1, u2} ι α _inst_2) [_inst_4 : DecidableEq.{succ u1} ι], Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finset.Ioc.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finsupp.preorder.{u1, u2} ι α _inst_2 (PartialOrder.toPreorder.{u2} α _inst_1)) (Finsupp.locallyFiniteOrder.{u1, u2} ι α _inst_1 _inst_2 _inst_3) f g)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Union.union.{u1} (Finset.{u1} ι) (Finset.hasUnion.{u1} ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.support.{u1, u2} ι α _inst_2 f) (Finsupp.support.{u1, u2} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u2} α (Finset.Icc.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1) _inst_3 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_2) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_2) g i)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : PartialOrder.{u2} α] [_inst_2 : Zero.{u2} α] [_inst_3 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1)] (f : Finsupp.{u1, u2} ι α _inst_2) (g : Finsupp.{u1, u2} ι α _inst_2) [_inst_4 : DecidableEq.{succ u1} ι], Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finset.Ioc.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finsupp.preorder.{u1, u2} ι α _inst_2 (PartialOrder.toPreorder.{u2} α _inst_1)) (Finsupp.locallyFiniteOrder.{u1, u2} ι α _inst_1 _inst_2 _inst_3) f g)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Union.union.{u1} (Finset.{u1} ι) (Finset.hasUnion.{u1} ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.support.{u1, u2} ι α _inst_2 f) (Finsupp.support.{u1, u2} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u2} α (Finset.Icc.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1) _inst_3 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_2) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_2) g i)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : PartialOrder.{u1} α] [_inst_2 : Zero.{u1} α] [_inst_3 : LocallyFiniteOrder.{u1} α (PartialOrder.toPreorder.{u1} α _inst_1)] (f : Finsupp.{u2, u1} ι α _inst_2) (g : Finsupp.{u2, u1} ι α _inst_2), Eq.{1} Nat (Finset.card.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_2) (Finset.Ioc.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_2) (Finsupp.preorder.{u2, u1} ι α _inst_2 (PartialOrder.toPreorder.{u1} α _inst_1)) (Finsupp.instLocallyFiniteOrderFinsuppPreorderToPreorder.{u2, u1} ι α _inst_1 _inst_2 _inst_3) f g)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (Finset.prod.{0, u2} Nat ι Nat.commMonoid (Union.union.{u2} (Finset.{u2} ι) (Finset.instUnionFinset.{u2} ι (fun (a : ι) (b : ι) => Classical.propDecidable (Eq.{succ u2} ι a b))) (Finsupp.support.{u2, u1} ι α _inst_2 f) (Finsupp.support.{u2, u1} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (Finset.Icc.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (PartialOrder.toPreorder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1) _inst_3 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_2) ι (fun (a : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) (Finsupp.funLike.{u2, u1} ι α _inst_2) f i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_2) ι (fun (a : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) (Finsupp.funLike.{u2, u1} ι α _inst_2) g i)))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) Case conversion may be inaccurate. Consider using '#align finsupp.card_Ioc Finsupp.card_Iocₓ'. -/ @@ -167,7 +167,7 @@ theorem card_Ioc [DecidableEq ι] : /- warning: finsupp.card_Ioo -> Finsupp.card_Ioo is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : PartialOrder.{u2} α] [_inst_2 : Zero.{u2} α] [_inst_3 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1)] (f : Finsupp.{u1, u2} ι α _inst_2) (g : Finsupp.{u1, u2} ι α _inst_2) [_inst_4 : DecidableEq.{succ u1} ι], Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finset.Ioo.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finsupp.preorder.{u1, u2} ι α _inst_2 (PartialOrder.toPreorder.{u2} α _inst_1)) (Finsupp.locallyFiniteOrder.{u1, u2} ι α _inst_1 _inst_2 _inst_3) f g)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Union.union.{u1} (Finset.{u1} ι) (Finset.hasUnion.{u1} ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.support.{u1, u2} ι α _inst_2 f) (Finsupp.support.{u1, u2} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u2} α (Finset.Icc.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1) _inst_3 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_2) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_2) g i)))) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : PartialOrder.{u2} α] [_inst_2 : Zero.{u2} α] [_inst_3 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1)] (f : Finsupp.{u1, u2} ι α _inst_2) (g : Finsupp.{u1, u2} ι α _inst_2) [_inst_4 : DecidableEq.{succ u1} ι], Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finset.Ioo.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_2) (Finsupp.preorder.{u1, u2} ι α _inst_2 (PartialOrder.toPreorder.{u2} α _inst_1)) (Finsupp.locallyFiniteOrder.{u1, u2} ι α _inst_1 _inst_2 _inst_3) f g)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Union.union.{u1} (Finset.{u1} ι) (Finset.hasUnion.{u1} ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.support.{u1, u2} ι α _inst_2 f) (Finsupp.support.{u1, u2} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u2} α (Finset.Icc.{u2} α (PartialOrder.toPreorder.{u2} α _inst_1) _inst_3 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_2) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_2) (fun (_x : Finsupp.{u1, u2} ι α _inst_2) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_2) g i)))) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : PartialOrder.{u1} α] [_inst_2 : Zero.{u1} α] [_inst_3 : LocallyFiniteOrder.{u1} α (PartialOrder.toPreorder.{u1} α _inst_1)] (f : Finsupp.{u2, u1} ι α _inst_2) (g : Finsupp.{u2, u1} ι α _inst_2), Eq.{1} Nat (Finset.card.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_2) (Finset.Ioo.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_2) (Finsupp.preorder.{u2, u1} ι α _inst_2 (PartialOrder.toPreorder.{u1} α _inst_1)) (Finsupp.instLocallyFiniteOrderFinsuppPreorderToPreorder.{u2, u1} ι α _inst_1 _inst_2 _inst_3) f g)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (Finset.prod.{0, u2} Nat ι Nat.commMonoid (Union.union.{u2} (Finset.{u2} ι) (Finset.instUnionFinset.{u2} ι (fun (a : ι) (b : ι) => Classical.propDecidable (Eq.{succ u2} ι a b))) (Finsupp.support.{u2, u1} ι α _inst_2 f) (Finsupp.support.{u2, u1} ι α _inst_2 g)) (fun (i : ι) => Finset.card.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (Finset.Icc.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (PartialOrder.toPreorder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1) _inst_3 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_2) ι (fun (a : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) (Finsupp.funLike.{u2, u1} ι α _inst_2) f i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_2) ι (fun (a : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) (Finsupp.funLike.{u2, u1} ι α _inst_2) g i)))) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Case conversion may be inaccurate. Consider using '#align finsupp.card_Ioo Finsupp.card_Iooₓ'. -/ @@ -186,7 +186,7 @@ variable (f : ι →₀ α) /- warning: finsupp.card_Iic -> Finsupp.card_Iic is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] [_inst_2 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))), Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finset.Iic.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.preorder.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.preorder.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (Finsupp.orderBot.{u1, u2} ι α _inst_1) (Finsupp.locallyFiniteOrder.{u1, u2} ι α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) _inst_2)) f)) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Finsupp.support.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f) (fun (i : ι) => Finset.card.{u2} α (Finset.Iic.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))) (CanonicallyOrderedAddMonoid.toOrderBot.{u2} α _inst_1) _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f i)))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] [_inst_2 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))), Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finset.Iic.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.preorder.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.preorder.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (Finsupp.orderBot.{u1, u2} ι α _inst_1) (Finsupp.locallyFiniteOrder.{u1, u2} ι α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) _inst_2)) f)) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Finsupp.support.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f) (fun (i : ι) => Finset.card.{u2} α (Finset.Iic.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))) (CanonicallyOrderedAddMonoid.toOrderBot.{u2} α _inst_1) _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f i)))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : CanonicallyOrderedAddMonoid.{u1} α] [_inst_2 : LocallyFiniteOrder.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))] (f : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))), Eq.{1} Nat (Finset.card.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finset.Iic.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.preorder.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.preorder.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (Finsupp.orderBot.{u2, u1} ι α _inst_1) (Finsupp.instLocallyFiniteOrderFinsuppPreorderToPreorder.{u2, u1} ι α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)) (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) _inst_2)) f)) (Finset.prod.{0, u2} Nat ι Nat.commMonoid (Finsupp.support.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) f) (fun (i : ι) => Finset.card.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (Finset.Iic.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (PartialOrder.toPreorder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (OrderedAddCommMonoid.toPartialOrder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (PartialOrder.toPreorder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (OrderedAddCommMonoid.toPartialOrder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1))) (CanonicallyOrderedAddMonoid.toOrderBot.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1) _inst_2) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) f i)))) Case conversion may be inaccurate. Consider using '#align finsupp.card_Iic Finsupp.card_Iicₓ'. -/ @@ -197,7 +197,7 @@ theorem card_Iic : (Iic f).card = ∏ i in f.support, (Iic (f i)).card := by /- warning: finsupp.card_Iio -> Finsupp.card_Iio is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] [_inst_2 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))), Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finset.Iio.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.preorder.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.preorder.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (Finsupp.orderBot.{u1, u2} ι α _inst_1) (Finsupp.locallyFiniteOrder.{u1, u2} ι α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) _inst_2)) f)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Finsupp.support.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f) (fun (i : ι) => Finset.card.{u2} α (Finset.Iic.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))) (CanonicallyOrderedAddMonoid.toOrderBot.{u2} α _inst_1) _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f i)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] [_inst_2 : LocallyFiniteOrder.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))), Eq.{1} Nat (Finset.card.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finset.Iio.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.preorder.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.preorder.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (Finsupp.orderBot.{u1, u2} ι α _inst_1) (Finsupp.locallyFiniteOrder.{u1, u2} ι α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) _inst_2)) f)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Finset.prod.{0, u1} Nat ι Nat.commMonoid (Finsupp.support.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f) (fun (i : ι) => Finset.card.{u2} α (Finset.Iic.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))) (CanonicallyOrderedAddMonoid.toOrderBot.{u2} α _inst_1) _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f i)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : CanonicallyOrderedAddMonoid.{u1} α] [_inst_2 : LocallyFiniteOrder.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))] (f : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))), Eq.{1} Nat (Finset.card.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finset.Iio.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.preorder.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.preorder.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (Finsupp.orderBot.{u2, u1} ι α _inst_1) (Finsupp.instLocallyFiniteOrderFinsuppPreorderToPreorder.{u2, u1} ι α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)) (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) _inst_2)) f)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (Finset.prod.{0, u2} Nat ι Nat.commMonoid (Finsupp.support.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) f) (fun (i : ι) => Finset.card.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (Finset.Iic.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (PartialOrder.toPreorder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (OrderedAddCommMonoid.toPartialOrder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1))) (Finset.LocallyFiniteOrder.toLocallyFiniteOrderBot.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (PartialOrder.toPreorder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (OrderedAddCommMonoid.toPartialOrder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1))) (CanonicallyOrderedAddMonoid.toOrderBot.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1) _inst_2) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) f i)))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) Case conversion may be inaccurate. Consider using '#align finsupp.card_Iio Finsupp.card_Iioₓ'. -/ diff --git a/Mathbin/Data/Finsupp/Lex.lean b/Mathbin/Data/Finsupp/Lex.lean index 8428c3e3e6..70ceec1d3f 100644 --- a/Mathbin/Data/Finsupp/Lex.lean +++ b/Mathbin/Data/Finsupp/Lex.lean @@ -43,7 +43,7 @@ protected def Lex (r : α → α → Prop) (s : N → N → Prop) (x y : α → /- warning: pi.lex_eq_finsupp_lex -> Pi.lex_eq_finsupp_lex is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : Zero.{u2} N] {r : α -> α -> Prop} {s : N -> N -> Prop} (a : Finsupp.{u1, u2} α N _inst_1) (b : Finsupp.{u1, u2} α N _inst_1), Eq.{1} Prop (Pi.Lex.{u1, u2} α (fun (_x : α) => N) r (fun (_x : α) => s) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_1) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_1) b)) (Finsupp.Lex.{u1, u2} α N _inst_1 r s a b) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : Zero.{u2} N] {r : α -> α -> Prop} {s : N -> N -> Prop} (a : Finsupp.{u1, u2} α N _inst_1) (b : Finsupp.{u1, u2} α N _inst_1), Eq.{1} Prop (Pi.Lex.{u1, u2} α (fun (_x : α) => N) r (fun (_x : α) => s) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_1) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_1) b)) (Finsupp.Lex.{u1, u2} α N _inst_1 r s a b) but is expected to have type forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : Zero.{u1} N] {r : α -> α -> Prop} {s : N -> N -> Prop} (a : Finsupp.{u2, u1} α N _inst_1) (b : Finsupp.{u2, u1} α N _inst_1), Eq.{1} Prop (Pi.Lex.{u2, u1} α (fun {_x : α} => N) r (fun {_x : α} => s) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_1) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_1) b)) (Finsupp.Lex.{u2, u1} α N _inst_1 r s a b) Case conversion may be inaccurate. Consider using '#align pi.lex_eq_finsupp_lex Pi.lex_eq_finsupp_lexₓ'. -/ @@ -54,7 +54,7 @@ theorem Pi.lex_eq_finsupp_lex {r : α → α → Prop} {s : N → N → Prop} (a /- warning: finsupp.lex_def -> Finsupp.lex_def is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : Zero.{u2} N] {r : α -> α -> Prop} {s : N -> N -> Prop} {a : Finsupp.{u1, u2} α N _inst_1} {b : Finsupp.{u1, u2} α N _inst_1}, Iff (Finsupp.Lex.{u1, u2} α N _inst_1 r s a b) (Exists.{succ u1} α (fun (j : α) => And (forall (d : α), (r d j) -> (Eq.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_1) a d) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_1) b d))) (s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_1) a j) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_1) b j)))) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : Zero.{u2} N] {r : α -> α -> Prop} {s : N -> N -> Prop} {a : Finsupp.{u1, u2} α N _inst_1} {b : Finsupp.{u1, u2} α N _inst_1}, Iff (Finsupp.Lex.{u1, u2} α N _inst_1 r s a b) (Exists.{succ u1} α (fun (j : α) => And (forall (d : α), (r d j) -> (Eq.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_1) a d) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_1) b d))) (s (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_1) a j) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_1) (fun (_x : Finsupp.{u1, u2} α N _inst_1) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_1) b j)))) but is expected to have type forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : Zero.{u1} N] {r : α -> α -> Prop} {s : N -> N -> Prop} {a : Finsupp.{u2, u1} α N _inst_1} {b : Finsupp.{u2, u1} α N _inst_1}, Iff (Finsupp.Lex.{u2, u1} α N _inst_1 r s a b) (Exists.{succ u2} α (fun (j : α) => And (forall (d : α), (r d j) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) d) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_1) a d) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_1) b d))) (s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_1) a j) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_1) b j)))) Case conversion may be inaccurate. Consider using '#align finsupp.lex_def Finsupp.lex_defₓ'. -/ @@ -161,7 +161,7 @@ variable [CovariantClass N N (· + ·) (· < ·)] /- warning: finsupp.lex.covariant_class_lt_left -> Finsupp.Lex.covariantClass_lt_left is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toHasAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))], CovariantClass.{max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (instHAdd.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.hasAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) (Finsupp.hasAdd.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2))))) (LT.lt.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Finsupp.Lex.hasLt.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)) (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toHasAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))], CovariantClass.{max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (instHAdd.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.hasAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2))))) (LT.lt.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Finsupp.Lex.hasLt.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)) (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))) but is expected to have type forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.927 : N) (x._@.Mathlib.Data.Finsupp.Lex._hyg.929 : N) => HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) x._@.Mathlib.Data.Finsupp.Lex._hyg.927 x._@.Mathlib.Data.Finsupp.Lex._hyg.929) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.942 : N) (x._@.Mathlib.Data.Finsupp.Lex._hyg.944 : N) => LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (DistribLattice.toLattice.{u2} N (instDistribLattice.{u2} N _inst_3)))))) x._@.Mathlib.Data.Finsupp.Lex._hyg.942 x._@.Mathlib.Data.Finsupp.Lex._hyg.944)], CovariantClass.{max u2 u1, max u2 u1} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.978 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (x._@.Mathlib.Data.Finsupp.Lex._hyg.980 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) => HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (instHAdd.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (instAddLex.{max u1 u2} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2)) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) x._@.Mathlib.Data.Finsupp.Lex._hyg.978 x._@.Mathlib.Data.Finsupp.Lex._hyg.980) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.993 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (x._@.Mathlib.Data.Finsupp.Lex._hyg.995 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) => LT.lt.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Finsupp.instLTLexFinsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2) (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (DistribLattice.toLattice.{u2} N (instDistribLattice.{u2} N _inst_3))))))) x._@.Mathlib.Data.Finsupp.Lex._hyg.993 x._@.Mathlib.Data.Finsupp.Lex._hyg.995) Case conversion may be inaccurate. Consider using '#align finsupp.lex.covariant_class_lt_left Finsupp.Lex.covariantClass_lt_leftₓ'. -/ @@ -173,7 +173,7 @@ instance Lex.covariantClass_lt_left : /- warning: finsupp.lex.covariant_class_le_left -> Finsupp.Lex.covariantClass_le_left is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toHasAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))], CovariantClass.{max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (instHAdd.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.hasAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) (Finsupp.hasAdd.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2))))) (LE.le.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Preorder.toLE.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (PartialOrder.toPreorder.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Finsupp.Lex.partialOrder.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)) _inst_1 (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toHasAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))], CovariantClass.{max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (instHAdd.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.hasAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2))))) (LE.le.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Preorder.toLE.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (PartialOrder.toPreorder.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Finsupp.Lex.partialOrder.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)) _inst_1 (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))) but is expected to have type forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1082 : N) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1084 : N) => HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1082 x._@.Mathlib.Data.Finsupp.Lex._hyg.1084) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1097 : N) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1099 : N) => LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (DistribLattice.toLattice.{u2} N (instDistribLattice.{u2} N _inst_3)))))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1097 x._@.Mathlib.Data.Finsupp.Lex._hyg.1099)], CovariantClass.{max u2 u1, max u2 u1} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1133 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1135 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) => HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (instHAdd.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (instAddLex.{max u1 u2} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2)) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1133 x._@.Mathlib.Data.Finsupp.Lex._hyg.1135) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1148 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1150 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) => LE.le.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Preorder.toLE.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (PartialOrder.toPreorder.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Finsupp.Lex.partialOrder.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2) _inst_1 (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (DistribLattice.toLattice.{u2} N (instDistribLattice.{u2} N _inst_3))))))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1148 x._@.Mathlib.Data.Finsupp.Lex._hyg.1150) Case conversion may be inaccurate. Consider using '#align finsupp.lex.covariant_class_le_left Finsupp.Lex.covariantClass_le_leftₓ'. -/ @@ -190,7 +190,7 @@ variable [CovariantClass N N (Function.swap (· + ·)) (· < ·)] /- warning: finsupp.lex.covariant_class_lt_right -> Finsupp.Lex.covariantClass_lt_right is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (Function.swap.{succ u2, succ u2, succ u2} N N (fun (ᾰ : N) (ᾰ : N) => N) (HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toHasAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))))) (LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))], CovariantClass.{max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Function.swap.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (fun (ᾰ : Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (ᾰ : Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) => Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (instHAdd.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.hasAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) (Finsupp.hasAdd.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))))) (LT.lt.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Finsupp.Lex.hasLt.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)) (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (Function.swap.{succ u2, succ u2, succ u2} N N (fun (ᾰ : N) (ᾰ : N) => N) (HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toHasAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))))) (LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))], CovariantClass.{max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Function.swap.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (fun (ᾰ : Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (ᾰ : Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) => Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (instHAdd.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.hasAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))))) (LT.lt.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Finsupp.Lex.hasLt.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)) (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))) but is expected to have type forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (Function.swap.{succ u2, succ u2, succ u2} N N (fun (ᾰ : N) (ᾰ : N) => N) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1241 : N) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1243 : N) => HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1241 x._@.Mathlib.Data.Finsupp.Lex._hyg.1243)) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1256 : N) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1258 : N) => LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (DistribLattice.toLattice.{u2} N (instDistribLattice.{u2} N _inst_3)))))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1256 x._@.Mathlib.Data.Finsupp.Lex._hyg.1258)], CovariantClass.{max u2 u1, max u2 u1} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Function.swap.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (fun (ᾰ : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (ᾰ : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) => Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1295 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1297 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) => HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (instHAdd.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (instAddLex.{max u1 u2} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2)) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1295 x._@.Mathlib.Data.Finsupp.Lex._hyg.1297)) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1310 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1312 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) => LT.lt.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Finsupp.instLTLexFinsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2) (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (DistribLattice.toLattice.{u2} N (instDistribLattice.{u2} N _inst_3))))))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1310 x._@.Mathlib.Data.Finsupp.Lex._hyg.1312) Case conversion may be inaccurate. Consider using '#align finsupp.lex.covariant_class_lt_right Finsupp.Lex.covariantClass_lt_rightₓ'. -/ @@ -202,7 +202,7 @@ instance Lex.covariantClass_lt_right : /- warning: finsupp.lex.covariant_class_le_right -> Finsupp.Lex.covariantClass_le_right is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (Function.swap.{succ u2, succ u2, succ u2} N N (fun (ᾰ : N) (ᾰ : N) => N) (HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toHasAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))))) (LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))], CovariantClass.{max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Function.swap.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (fun (ᾰ : Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (ᾰ : Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) => Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (instHAdd.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.hasAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) (Finsupp.hasAdd.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))))) (LE.le.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Preorder.toLE.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (PartialOrder.toPreorder.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Finsupp.Lex.partialOrder.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)) _inst_1 (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (Function.swap.{succ u2, succ u2, succ u2} N N (fun (ᾰ : N) (ᾰ : N) => N) (HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toHasAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))))) (LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))], CovariantClass.{max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Function.swap.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (fun (ᾰ : Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (ᾰ : Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) => Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (instHAdd.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Lex.hasAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))))) (LE.le.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Preorder.toLE.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (PartialOrder.toPreorder.{max u1 u2} (Lex.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) (Finsupp.Lex.partialOrder.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2)) _inst_1 (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (LinearOrder.toLattice.{u2} N _inst_3))))))) but is expected to have type forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : LinearOrder.{u1} α] [_inst_2 : AddMonoid.{u2} N] [_inst_3 : LinearOrder.{u2} N] [_inst_4 : CovariantClass.{u2, u2} N N (Function.swap.{succ u2, succ u2, succ u2} N N (fun (ᾰ : N) (ᾰ : N) => N) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1414 : N) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1416 : N) => HAdd.hAdd.{u2, u2, u2} N N N (instHAdd.{u2} N (AddZeroClass.toAdd.{u2} N (AddMonoid.toAddZeroClass.{u2} N _inst_2))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1414 x._@.Mathlib.Data.Finsupp.Lex._hyg.1416)) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1429 : N) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1431 : N) => LT.lt.{u2} N (Preorder.toLT.{u2} N (PartialOrder.toPreorder.{u2} N (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (DistribLattice.toLattice.{u2} N (instDistribLattice.{u2} N _inst_3)))))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1429 x._@.Mathlib.Data.Finsupp.Lex._hyg.1431)], CovariantClass.{max u2 u1, max u2 u1} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Function.swap.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (fun (ᾰ : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (ᾰ : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) => Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1468 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1470 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) => HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (instHAdd.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (instAddLex.{max u1 u2} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2)) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N _inst_2)))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1468 x._@.Mathlib.Data.Finsupp.Lex._hyg.1470)) (fun (x._@.Mathlib.Data.Finsupp.Lex._hyg.1483 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (x._@.Mathlib.Data.Finsupp.Lex._hyg.1485 : Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) => LE.le.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Preorder.toLE.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (PartialOrder.toPreorder.{max u1 u2} (Lex.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2))) (Finsupp.Lex.partialOrder.{u1, u2} α N (AddMonoid.toZero.{u2} N _inst_2) _inst_1 (SemilatticeInf.toPartialOrder.{u2} N (Lattice.toSemilatticeInf.{u2} N (DistribLattice.toLattice.{u2} N (instDistribLattice.{u2} N _inst_3))))))) x._@.Mathlib.Data.Finsupp.Lex._hyg.1483 x._@.Mathlib.Data.Finsupp.Lex._hyg.1485) Case conversion may be inaccurate. Consider using '#align finsupp.lex.covariant_class_le_right Finsupp.Lex.covariantClass_le_rightₓ'. -/ diff --git a/Mathbin/Data/Finsupp/Multiset.lean b/Mathbin/Data/Finsupp/Multiset.lean index 0e6147c97d..f68e042ca6 100644 --- a/Mathbin/Data/Finsupp/Multiset.lean +++ b/Mathbin/Data/Finsupp/Multiset.lean @@ -33,12 +33,7 @@ variable {α β ι : Type _} namespace Finsupp -/- warning: finsupp.to_multiset -> Finsupp.toMultiset is a dubious translation: -lean 3 declaration is - forall {α : Type.{u1}}, AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α) -but is expected to have type - forall {α : Type.{u1}}, AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α) -Case conversion may be inaccurate. Consider using '#align finsupp.to_multiset Finsupp.toMultisetₓ'. -/ +#print Finsupp.toMultiset /- /-- Given `f : α →₀ ℕ`, `f.to_multiset` is the multiset with multiplicities given by the values of `f` on the elements of `α`. We define this function as an `add_equiv`. -/ def toMultiset : (α →₀ ℕ) ≃+ Multiset α @@ -54,10 +49,11 @@ def toMultiset : (α →₀ ℕ) ≃+ Multiset α right_inv s := by simp only [Sum, coe_mk, Multiset.toFinset_sum_count_nsmul_eq] map_add' f g := sum_add_index' (fun a => zero_nsmul _) fun a => add_nsmul _ #align finsupp.to_multiset Finsupp.toMultiset +-/ /- warning: finsupp.to_multiset_zero -> Finsupp.toMultiset_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}}, Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) 0 (OfNat.mk.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) 0 (Zero.zero.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.hasZero.{u1, 0} α Nat Nat.hasZero))))) (OfNat.ofNat.{u1} (Multiset.{u1} α) 0 (OfNat.mk.{u1} (Multiset.{u1} α) 0 (Zero.zero.{u1} (Multiset.{u1} α) (Multiset.hasZero.{u1} α)))) + forall {α : Type.{u1}}, Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) 0 (OfNat.mk.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) 0 (Zero.zero.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.zero.{u1, 0} α Nat Nat.hasZero))))) (OfNat.ofNat.{u1} (Multiset.{u1} α) 0 (OfNat.mk.{u1} (Multiset.{u1} α) 0 (Zero.zero.{u1} (Multiset.{u1} α) (Multiset.hasZero.{u1} α)))) but is expected to have type forall {α : Type.{u1}}, Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (Multiset.instZeroMultiset.{u1} α))) Case conversion may be inaccurate. Consider using '#align finsupp.to_multiset_zero Finsupp.toMultiset_zeroₓ'. -/ @@ -67,7 +63,7 @@ theorem toMultiset_zero : (0 : α →₀ ℕ).toMultiset = 0 := /- warning: finsupp.to_multiset_add -> Finsupp.toMultiset_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} (m : Finsupp.{u1, 0} α Nat Nat.hasZero) (n : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) (instHAdd.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HAdd.hAdd.{u1, u1, u1} (Multiset.{u1} α) (Multiset.{u1} α) (Multiset.{u1} α) (instHAdd.{u1} (Multiset.{u1} α) (Multiset.hasAdd.{u1} α)) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) m) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) n)) + forall {α : Type.{u1}} (m : Finsupp.{u1, 0} α Nat Nat.hasZero) (n : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) (instHAdd.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HAdd.hAdd.{u1, u1, u1} (Multiset.{u1} α) (Multiset.{u1} α) (Multiset.{u1} α) (instHAdd.{u1} (Multiset.{u1} α) (Multiset.hasAdd.{u1} α)) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) m) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) n)) but is expected to have type forall {α : Type.{u1}} (m : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (n : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) m) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) m) (Multiset.instAddMultiset.{u1} α)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) m) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) n)) Case conversion may be inaccurate. Consider using '#align finsupp.to_multiset_add Finsupp.toMultiset_addₓ'. -/ @@ -77,7 +73,7 @@ theorem toMultiset_add (m n : α →₀ ℕ) : (m + n).toMultiset = m.toMultiset /- warning: finsupp.to_multiset_apply -> Finsupp.toMultiset_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f) (Finsupp.sum.{u1, 0, u1} α Nat (Multiset.{u1} α) Nat.hasZero (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)) f (fun (a : α) (n : Nat) => SMul.smul.{0, u1} Nat (Multiset.{u1} α) (AddMonoid.SMul.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) n (Singleton.singleton.{u1, u1} α (Multiset.{u1} α) (Multiset.hasSingleton.{u1} α) a))) + forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f) (Finsupp.sum.{u1, 0, u1} α Nat (Multiset.{u1} α) Nat.hasZero (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)) f (fun (a : α) (n : Nat) => SMul.smul.{0, u1} Nat (Multiset.{u1} α) (AddMonoid.SMul.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) n (Singleton.singleton.{u1, u1} α (Multiset.{u1} α) (Multiset.hasSingleton.{u1} α) a))) but is expected to have type forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) f) (Finsupp.sum.{u1, 0, u1} α Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)) f (fun (a : α) (n : Nat) => HSMul.hSMul.{0, u1, u1} Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (instHSMul.{0, u1} Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (AddMonoid.SMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (AddRightCancelMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (AddCancelMonoid.toAddRightCancelMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (AddCancelCommMonoid.toAddCancelMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) n (Singleton.singleton.{u1, u1} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (Multiset.instSingletonMultiset.{u1} α) a))) Case conversion may be inaccurate. Consider using '#align finsupp.to_multiset_apply Finsupp.toMultiset_applyₓ'. -/ @@ -87,7 +83,7 @@ theorem toMultiset_apply (f : α →₀ ℕ) : f.toMultiset = f.Sum fun a n => n /- warning: finsupp.to_multiset_symm_apply -> Finsupp.toMultiset_symm_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (s : Multiset.{u1} α) (x : α), Eq.{1} Nat (coeFn.{succ u1, succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (fun (_x : Finsupp.{u1, 0} α Nat Nat.hasZero) => α -> Nat) (Finsupp.hasCoeToFun.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddEquiv.symm.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α) (Finsupp.toMultiset.{u1} α)) s) x) (Multiset.count.{u1} α (fun (a : α) (b : α) => _inst_1 a b) x s) + forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (s : Multiset.{u1} α) (x : α), Eq.{1} Nat (coeFn.{succ u1, succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (fun (_x : Finsupp.{u1, 0} α Nat Nat.hasZero) => α -> Nat) (Finsupp.coeFun.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddEquiv.symm.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α) (Finsupp.toMultiset.{u1} α)) s) x) (Multiset.count.{u1} α (fun (a : α) (b : α) => _inst_1 a b) x s) but is expected to have type forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (s : Multiset.{u1} α) (x : α), Eq.{1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Nat) x) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Nat) _x) (Finsupp.funLike.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (AddEquiv.symm.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α) (Finsupp.toMultiset.{u1} α)) s) x) (Multiset.count.{u1} α (fun (a : α) (b : α) => _inst_1 a b) x s) Case conversion may be inaccurate. Consider using '#align finsupp.to_multiset_symm_apply Finsupp.toMultiset_symm_applyₓ'. -/ @@ -98,7 +94,7 @@ theorem toMultiset_symm_apply [DecidableEq α] (s : Multiset α) (x : α) : /- warning: finsupp.to_multiset_single -> Finsupp.toMultiset_single is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} (a : α) (n : Nat), Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (Finsupp.single.{u1, 0} α Nat Nat.hasZero a n)) (SMul.smul.{0, u1} Nat (Multiset.{u1} α) (AddMonoid.SMul.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) n (Singleton.singleton.{u1, u1} α (Multiset.{u1} α) (Multiset.hasSingleton.{u1} α) a)) + forall {α : Type.{u1}} (a : α) (n : Nat), Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (Finsupp.single.{u1, 0} α Nat Nat.hasZero a n)) (SMul.smul.{0, u1} Nat (Multiset.{u1} α) (AddMonoid.SMul.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) n (Singleton.singleton.{u1, u1} α (Multiset.{u1} α) (Multiset.hasSingleton.{u1} α) a)) but is expected to have type forall {α : Type.{u1}} (a : α) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a n)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a n)) (HSMul.hSMul.{0, u1, u1} Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a n)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a n)) (instHSMul.{0, u1} Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a n)) (AddMonoid.SMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a n)) (AddRightCancelMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a n)) (AddCancelMonoid.toAddRightCancelMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a n)) (AddCancelCommMonoid.toAddCancelMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a n)) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a n)) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) n (Singleton.singleton.{u1, u1} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a n)) (Multiset.instSingletonMultiset.{u1} α) a)) Case conversion may be inaccurate. Consider using '#align finsupp.to_multiset_single Finsupp.toMultiset_singleₓ'. -/ @@ -109,7 +105,7 @@ theorem toMultiset_single (a : α) (n : ℕ) : toMultiset (single a n) = n • { /- warning: finsupp.to_multiset_sum -> Finsupp.toMultiset_sum is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {ι : Type.{u2}} {f : ι -> (Finsupp.{u1, 0} α Nat Nat.hasZero)} (s : Finset.{u2} ι), Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (Finset.sum.{u1, u2} (Finsupp.{u1, 0} α Nat Nat.hasZero) ι (Finsupp.addCommMonoid.{u1, 0} α Nat Nat.addCommMonoid) s (fun (i : ι) => f i))) (Finset.sum.{u1, u2} (Multiset.{u1} α) ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)) s (fun (i : ι) => coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (f i))) + forall {α : Type.{u1}} {ι : Type.{u2}} {f : ι -> (Finsupp.{u1, 0} α Nat Nat.hasZero)} (s : Finset.{u2} ι), Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (Finset.sum.{u1, u2} (Finsupp.{u1, 0} α Nat Nat.hasZero) ι (Finsupp.addCommMonoid.{u1, 0} α Nat Nat.addCommMonoid) s (fun (i : ι) => f i))) (Finset.sum.{u1, u2} (Multiset.{u1} α) ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)) s (fun (i : ι) => coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (f i))) but is expected to have type forall {α : Type.{u2}} {ι : Type.{u1}} {f : ι -> (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))} (s : Finset.{u1} ι), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u2} α) (Finset.sum.{u2, u1} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ι (Finsupp.addCommMonoid.{u2, 0} α Nat Nat.addCommMonoid) s (fun (i : ι) => f i))) (FunLike.coe.{succ u2, succ u2, succ u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u2} α) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (AddZeroClass.toAdd.{u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u2} (Multiset.{u2} α) (AddMonoid.toAddZeroClass.{u2} (Multiset.{u2} α) (AddRightCancelMonoid.toAddMonoid.{u2} (Multiset.{u2} α) (AddCancelMonoid.toAddRightCancelMonoid.{u2} (Multiset.{u2} α) (AddCancelCommMonoid.toAddCancelMonoid.{u2} (Multiset.{u2} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Multiset.{u2} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u2} α))))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.addZeroClass.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u2} (Multiset.{u2} α) (AddRightCancelMonoid.toAddMonoid.{u2} (Multiset.{u2} α) (AddCancelMonoid.toAddRightCancelMonoid.{u2} (Multiset.{u2} α) (AddCancelCommMonoid.toAddCancelMonoid.{u2} (Multiset.{u2} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Multiset.{u2} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u2} α)))))) (AddEquivClass.instAddMonoidHomClass.{u2, u2, u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.addZeroClass.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u2} (Multiset.{u2} α) (AddRightCancelMonoid.toAddMonoid.{u2} (Multiset.{u2} α) (AddCancelMonoid.toAddRightCancelMonoid.{u2} (Multiset.{u2} α) (AddCancelCommMonoid.toAddCancelMonoid.{u2} (Multiset.{u2} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Multiset.{u2} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u2} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α))))) (Finsupp.toMultiset.{u2} α) (Finset.sum.{u2, u1} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ι (Finsupp.addCommMonoid.{u2, 0} α Nat Nat.addCommMonoid) s (fun (i : ι) => f i))) (Finset.sum.{u2, u1} (Multiset.{u2} α) ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} (Multiset.{u2} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u2} α)) s (fun (i : ι) => FunLike.coe.{succ u2, succ u2, succ u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u2} α) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (AddZeroClass.toAdd.{u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u2} (Multiset.{u2} α) (AddMonoid.toAddZeroClass.{u2} (Multiset.{u2} α) (AddRightCancelMonoid.toAddMonoid.{u2} (Multiset.{u2} α) (AddCancelMonoid.toAddRightCancelMonoid.{u2} (Multiset.{u2} α) (AddCancelCommMonoid.toAddCancelMonoid.{u2} (Multiset.{u2} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Multiset.{u2} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u2} α))))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.addZeroClass.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u2} (Multiset.{u2} α) (AddRightCancelMonoid.toAddMonoid.{u2} (Multiset.{u2} α) (AddCancelMonoid.toAddRightCancelMonoid.{u2} (Multiset.{u2} α) (AddCancelCommMonoid.toAddCancelMonoid.{u2} (Multiset.{u2} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Multiset.{u2} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u2} α)))))) (AddEquivClass.instAddMonoidHomClass.{u2, u2, u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.addZeroClass.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u2} (Multiset.{u2} α) (AddRightCancelMonoid.toAddMonoid.{u2} (Multiset.{u2} α) (AddCancelMonoid.toAddRightCancelMonoid.{u2} (Multiset.{u2} α) (AddCancelCommMonoid.toAddCancelMonoid.{u2} (Multiset.{u2} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Multiset.{u2} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u2} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α))))) (Finsupp.toMultiset.{u2} α) (f i))) Case conversion may be inaccurate. Consider using '#align finsupp.to_multiset_sum Finsupp.toMultiset_sumₓ'. -/ @@ -120,7 +116,7 @@ theorem toMultiset_sum {f : ι → α →₀ ℕ} (s : Finset ι) : /- warning: finsupp.to_multiset_sum_single -> Finsupp.toMultiset_sum_single is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} (s : Finset.{u1} ι) (n : Nat), Eq.{succ u1} (Multiset.{u1} ι) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) => (Finsupp.{u1, 0} ι Nat Nat.hasZero) -> (Multiset.{u1} ι)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (Finsupp.toMultiset.{u1} ι) (Finset.sum.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) ι (Finsupp.addCommMonoid.{u1, 0} ι Nat Nat.addCommMonoid) s (fun (i : ι) => Finsupp.single.{u1, 0} ι Nat Nat.hasZero i n))) (SMul.smul.{0, u1} Nat (Multiset.{u1} ι) (AddMonoid.SMul.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.orderedCancelAddCommMonoid.{u1} ι)))))) n (Finset.val.{u1} ι s)) + forall {ι : Type.{u1}} (s : Finset.{u1} ι) (n : Nat), Eq.{succ u1} (Multiset.{u1} ι) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) => (Finsupp.{u1, 0} ι Nat Nat.hasZero) -> (Multiset.{u1} ι)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (Finsupp.toMultiset.{u1} ι) (Finset.sum.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) ι (Finsupp.addCommMonoid.{u1, 0} ι Nat Nat.addCommMonoid) s (fun (i : ι) => Finsupp.single.{u1, 0} ι Nat Nat.hasZero i n))) (SMul.smul.{0, u1} Nat (Multiset.{u1} ι) (AddMonoid.SMul.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.orderedCancelAddCommMonoid.{u1} ι)))))) n (Finset.val.{u1} ι s)) but is expected to have type forall {ι : Type.{u1}} (s : Finset.{u1} ι) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} ι) (Finset.sum.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ι (Finsupp.addCommMonoid.{u1, 0} ι Nat Nat.addCommMonoid) s (fun (i : ι) => Finsupp.single.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i n))) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} ι) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} ι) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι))))) (Finsupp.toMultiset.{u1} ι) (Finset.sum.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ι (Finsupp.addCommMonoid.{u1, 0} ι Nat Nat.addCommMonoid) s (fun (i : ι) => Finsupp.single.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i n))) (HSMul.hSMul.{0, u1, u1} Nat (Multiset.{u1} ι) (Multiset.{u1} ι) (instHSMul.{0, u1} Nat (Multiset.{u1} ι) (AddMonoid.SMul.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι))))))) n (Finset.val.{u1} ι s)) Case conversion may be inaccurate. Consider using '#align finsupp.to_multiset_sum_single Finsupp.toMultiset_sum_singleₓ'. -/ @@ -131,7 +127,7 @@ theorem toMultiset_sum_single (s : Finset ι) (n : ℕ) : /- warning: finsupp.card_to_multiset -> Finsupp.card_toMultiset is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{1} Nat (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (fun (_x : AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) => (Multiset.{u1} α) -> Nat) (AddMonoidHom.hasCoeToFun.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.card.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (Finsupp.sum.{u1, 0, 0} α Nat Nat Nat.hasZero Nat.addCommMonoid f (fun (a : α) => id.{1} Nat)) + forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{1} Nat (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (fun (_x : AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) => (Multiset.{u1} α) -> Nat) (AddMonoidHom.hasCoeToFun.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.card.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (Finsupp.sum.{u1, 0, 0} α Nat Nat Nat.hasZero Nat.addCommMonoid f (fun (a : α) => id.{1} Nat)) but is expected to have type forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) f)) (FunLike.coe.{succ u1, succ u1, 1} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) _x) (AddHomClass.toFunLike.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{0} Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoidHomClass.toAddHomClass.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid) (AddMonoidHom.addMonoidHomClass.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (Multiset.card.{u1} α) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) f)) (Finsupp.sum.{u1, 0, 0} α Nat Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) Nat.addCommMonoid f (fun (a : α) => id.{1} Nat)) Case conversion may be inaccurate. Consider using '#align finsupp.card_to_multiset Finsupp.card_toMultisetₓ'. -/ @@ -141,7 +137,7 @@ theorem card_toMultiset (f : α →₀ ℕ) : f.toMultiset.card = f.Sum fun a => /- warning: finsupp.to_multiset_map -> Finsupp.toMultiset_map is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} (f : Finsupp.{u1, 0} α Nat Nat.hasZero) (g : α -> β), Eq.{succ u2} (Multiset.{u2} β) (Multiset.map.{u1, u2} α β g (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (coeFn.{succ u2, succ u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} β Nat Nat.hasZero) (Multiset.{u2} β) (Finsupp.hasAdd.{u2, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u2} β)) (fun (_x : AddEquiv.{u2, u2} (Finsupp.{u2, 0} β Nat Nat.hasZero) (Multiset.{u2} β) (Finsupp.hasAdd.{u2, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u2} β)) => (Finsupp.{u2, 0} β Nat Nat.hasZero) -> (Multiset.{u2} β)) (AddEquiv.hasCoeToFun.{u2, u2} (Finsupp.{u2, 0} β Nat Nat.hasZero) (Multiset.{u2} β) (Finsupp.hasAdd.{u2, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u2} β)) (Finsupp.toMultiset.{u2} β) (Finsupp.mapDomain.{u1, u2, 0} α β Nat Nat.addCommMonoid g f)) + forall {α : Type.{u1}} {β : Type.{u2}} (f : Finsupp.{u1, 0} α Nat Nat.hasZero) (g : α -> β), Eq.{succ u2} (Multiset.{u2} β) (Multiset.map.{u1, u2} α β g (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (coeFn.{succ u2, succ u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} β Nat Nat.hasZero) (Multiset.{u2} β) (Finsupp.add.{u2, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u2} β)) (fun (_x : AddEquiv.{u2, u2} (Finsupp.{u2, 0} β Nat Nat.hasZero) (Multiset.{u2} β) (Finsupp.add.{u2, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u2} β)) => (Finsupp.{u2, 0} β Nat Nat.hasZero) -> (Multiset.{u2} β)) (AddEquiv.hasCoeToFun.{u2, u2} (Finsupp.{u2, 0} β Nat Nat.hasZero) (Multiset.{u2} β) (Finsupp.add.{u2, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u2} β)) (Finsupp.toMultiset.{u2} β) (Finsupp.mapDomain.{u1, u2, 0} α β Nat Nat.addCommMonoid g f)) but is expected to have type forall {α : Type.{u2}} {β : Type.{u1}} (f : Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (g : α -> β), Eq.{succ u1} (Multiset.{u1} β) (Multiset.map.{u2, u1} α β g (FunLike.coe.{succ u2, succ u2, succ u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u2} α) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (AddZeroClass.toAdd.{u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u2} (Multiset.{u2} α) (AddMonoid.toAddZeroClass.{u2} (Multiset.{u2} α) (AddRightCancelMonoid.toAddMonoid.{u2} (Multiset.{u2} α) (AddCancelMonoid.toAddRightCancelMonoid.{u2} (Multiset.{u2} α) (AddCancelCommMonoid.toAddCancelMonoid.{u2} (Multiset.{u2} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Multiset.{u2} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u2} α))))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.addZeroClass.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u2} (Multiset.{u2} α) (AddRightCancelMonoid.toAddMonoid.{u2} (Multiset.{u2} α) (AddCancelMonoid.toAddRightCancelMonoid.{u2} (Multiset.{u2} α) (AddCancelCommMonoid.toAddCancelMonoid.{u2} (Multiset.{u2} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Multiset.{u2} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u2} α)))))) (AddEquivClass.instAddMonoidHomClass.{u2, u2, u2} (AddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α)) (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.addZeroClass.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u2} (Multiset.{u2} α) (AddRightCancelMonoid.toAddMonoid.{u2} (Multiset.{u2} α) (AddCancelMonoid.toAddRightCancelMonoid.{u2} (Multiset.{u2} α) (AddCancelCommMonoid.toAddCancelMonoid.{u2} (Multiset.{u2} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Multiset.{u2} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u2} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u2, u2} (Finsupp.{u2, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u2} α) (Finsupp.add.{u2, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u2} α))))) (Finsupp.toMultiset.{u2} α) f)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} β) (Finsupp.add.{u1, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} β)) (Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} β) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} β) (Finsupp.add.{u1, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} β)) (Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} β) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} β) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} β) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} β) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} β) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} β) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} β) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} β))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} β) (Finsupp.add.{u1, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} β)) (Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} β) (Finsupp.addZeroClass.{u1, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} β) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} β) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} β) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} β) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} β) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} β)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} β) (Finsupp.add.{u1, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} β)) (Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} β) (Finsupp.addZeroClass.{u1, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} β) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} β) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} β) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} β) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} β) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} β)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} β Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} β) (Finsupp.add.{u1, 0} β Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} β))))) (Finsupp.toMultiset.{u1} β) (Finsupp.mapDomain.{u2, u1, 0} α β Nat Nat.addCommMonoid g f)) Case conversion may be inaccurate. Consider using '#align finsupp.to_multiset_map Finsupp.toMultiset_mapₓ'. -/ @@ -158,7 +154,7 @@ theorem toMultiset_map (f : α →₀ ℕ) (g : α → β) : f.toMultiset.map g /- warning: finsupp.prod_to_multiset -> Finsupp.prod_toMultiset is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} [_inst_1 : CommMonoid.{u1} α] (f : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{succ u1} α (Multiset.prod.{u1} α _inst_1 (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (Finsupp.prod.{u1, 0, u1} α Nat α Nat.hasZero _inst_1 f (fun (a : α) (n : Nat) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1))) a n)) + forall {α : Type.{u1}} [_inst_1 : CommMonoid.{u1} α] (f : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{succ u1} α (Multiset.prod.{u1} α _inst_1 (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (Finsupp.prod.{u1, 0, u1} α Nat α Nat.hasZero _inst_1 f (fun (a : α) (n : Nat) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1))) a n)) but is expected to have type forall {α : Type.{u1}} [_inst_1 : CommMonoid.{u1} α] (f : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u1} α (Multiset.prod.{u1} α _inst_1 (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) f)) (Finsupp.prod.{u1, 0, u1} α Nat α (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) _inst_1 f (fun (a : α) (n : Nat) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1))) a n)) Case conversion may be inaccurate. Consider using '#align finsupp.prod_to_multiset Finsupp.prod_toMultisetₓ'. -/ @@ -175,7 +171,7 @@ theorem prod_toMultiset [CommMonoid α] (f : α →₀ ℕ) : f.toMultiset.Prod /- warning: finsupp.to_finset_to_multiset -> Finsupp.toFinset_toMultiset is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (f : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{succ u1} (Finset.{u1} α) (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => _inst_1 a b) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (Finsupp.support.{u1, 0} α Nat Nat.hasZero f) + forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (f : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{succ u1} (Finset.{u1} α) (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => _inst_1 a b) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (Finsupp.support.{u1, 0} α Nat Nat.hasZero f) but is expected to have type forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (f : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u1} (Finset.{u1} α) (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => _inst_1 a b) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) f)) (Finsupp.support.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) f) Case conversion may be inaccurate. Consider using '#align finsupp.to_finset_to_multiset Finsupp.toFinset_toMultisetₓ'. -/ @@ -193,7 +189,7 @@ theorem toFinset_toMultiset [DecidableEq α] (f : α →₀ ℕ) : f.toMultiset. /- warning: finsupp.count_to_multiset -> Finsupp.count_toMultiset is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (f : Finsupp.{u1, 0} α Nat Nat.hasZero) (a : α), Eq.{1} Nat (Multiset.count.{u1} α (fun (a : α) (b : α) => _inst_1 a b) a (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (coeFn.{succ u1, succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (fun (_x : Finsupp.{u1, 0} α Nat Nat.hasZero) => α -> Nat) (Finsupp.hasCoeToFun.{u1, 0} α Nat Nat.hasZero) f a) + forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (f : Finsupp.{u1, 0} α Nat Nat.hasZero) (a : α), Eq.{1} Nat (Multiset.count.{u1} α (fun (a : α) (b : α) => _inst_1 a b) a (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (coeFn.{succ u1, succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (fun (_x : Finsupp.{u1, 0} α Nat Nat.hasZero) => α -> Nat) (Finsupp.coeFun.{u1, 0} α Nat Nat.hasZero) f a) but is expected to have type forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (f : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : α), Eq.{1} Nat (Multiset.count.{u1} α (fun (a : α) (b : α) => _inst_1 a b) a (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) f)) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Nat) _x) (Finsupp.funLike.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) f a) Case conversion may be inaccurate. Consider using '#align finsupp.count_to_multiset Finsupp.count_toMultisetₓ'. -/ @@ -213,7 +209,7 @@ theorem count_toMultiset [DecidableEq α] (f : α →₀ ℕ) (a : α) : f.toMul /- warning: finsupp.mem_to_multiset -> Finsupp.mem_toMultiset is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat Nat.hasZero) (i : α), Iff (Membership.Mem.{u1, u1} α (Multiset.{u1} α) (Multiset.hasMem.{u1} α) i (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) i (Finsupp.support.{u1, 0} α Nat Nat.hasZero f)) + forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat Nat.hasZero) (i : α), Iff (Membership.Mem.{u1, u1} α (Multiset.{u1} α) (Multiset.hasMem.{u1} α) i (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) i (Finsupp.support.{u1, 0} α Nat Nat.hasZero f)) but is expected to have type forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (i : α), Iff (Membership.mem.{u1, u1} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) f) (Multiset.instMembershipMultiset.{u1} α) i (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) f)) (Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) i (Finsupp.support.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) f)) Case conversion may be inaccurate. Consider using '#align finsupp.mem_to_multiset Finsupp.mem_toMultisetₓ'. -/ @@ -226,21 +222,17 @@ end Finsupp namespace Multiset -/- warning: multiset.to_finsupp -> Multiset.toFinsupp is a dubious translation: -lean 3 declaration is - forall {α : Type.{u1}}, AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) -but is expected to have type - forall {α : Type.{u1}}, AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) -Case conversion may be inaccurate. Consider using '#align multiset.to_finsupp Multiset.toFinsuppₓ'. -/ +#print Multiset.toFinsupp /- /-- Given a multiset `s`, `s.to_finsupp` returns the finitely supported function on `ℕ` given by the multiplicities of the elements of `s`. -/ def toFinsupp : Multiset α ≃+ (α →₀ ℕ) := Finsupp.toMultiset.symm #align multiset.to_finsupp Multiset.toFinsupp +-/ /- warning: multiset.to_finsupp_support -> Multiset.toFinsupp_support is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (s : Multiset.{u1} α), Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, 0} α Nat Nat.hasZero (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) s)) (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => _inst_1 a b) s) + forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (s : Multiset.{u1} α), Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, 0} α Nat Nat.hasZero (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) s)) (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => _inst_1 a b) s) but is expected to have type forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (s : Multiset.{u1} α), Eq.{succ u1} (Finset.{u1} α) (Finsupp.support.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} α) s)) (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => _inst_1 a b) s) Case conversion may be inaccurate. Consider using '#align multiset.to_finsupp_support Multiset.toFinsupp_supportₓ'. -/ @@ -251,7 +243,7 @@ theorem toFinsupp_support [DecidableEq α] (s : Multiset α) : s.toFinsupp.suppo /- warning: multiset.to_finsupp_apply -> Multiset.toFinsupp_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (s : Multiset.{u1} α) (a : α), Eq.{1} Nat (coeFn.{succ u1, succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (fun (_x : Finsupp.{u1, 0} α Nat Nat.hasZero) => α -> Nat) (Finsupp.hasCoeToFun.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) s) a) (Multiset.count.{u1} α (fun (a : α) (b : α) => _inst_1 a b) a s) + forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (s : Multiset.{u1} α) (a : α), Eq.{1} Nat (coeFn.{succ u1, succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (fun (_x : Finsupp.{u1, 0} α Nat Nat.hasZero) => α -> Nat) (Finsupp.coeFun.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) s) a) (Multiset.count.{u1} α (fun (a : α) (b : α) => _inst_1 a b) a s) but is expected to have type forall {α : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} α] (s : Multiset.{u1} α) (a : α), Eq.{1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Nat) a) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Nat) _x) (Finsupp.funLike.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} α) s) a) (Multiset.count.{u1} α (fun (a : α) (b : α) => _inst_1 a b) a s) Case conversion may be inaccurate. Consider using '#align multiset.to_finsupp_apply Multiset.toFinsupp_applyₓ'. -/ @@ -262,7 +254,7 @@ theorem toFinsupp_apply [DecidableEq α] (s : Multiset α) (a : α) : toFinsupp /- warning: multiset.to_finsupp_zero -> Multiset.toFinsupp_zero is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}}, Eq.{succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) (OfNat.ofNat.{u1} (Multiset.{u1} α) 0 (OfNat.mk.{u1} (Multiset.{u1} α) 0 (Zero.zero.{u1} (Multiset.{u1} α) (Multiset.hasZero.{u1} α))))) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) 0 (OfNat.mk.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) 0 (Zero.zero.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.hasZero.{u1, 0} α Nat Nat.hasZero)))) + forall {α : Type.{u1}}, Eq.{succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) (OfNat.ofNat.{u1} (Multiset.{u1} α) 0 (OfNat.mk.{u1} (Multiset.{u1} α) 0 (Zero.zero.{u1} (Multiset.{u1} α) (Multiset.hasZero.{u1} α))))) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) 0 (OfNat.mk.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) 0 (Zero.zero.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.zero.{u1, 0} α Nat Nat.hasZero)))) but is expected to have type forall {α : Type.{u1}}, Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OfNat.ofNat.{u1} (Multiset.{u1} α) 0 (Zero.toOfNat0.{u1} (Multiset.{u1} α) (Multiset.instZeroMultiset.{u1} α)))) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} α) (OfNat.ofNat.{u1} (Multiset.{u1} α) 0 (Zero.toOfNat0.{u1} (Multiset.{u1} α) (Multiset.instZeroMultiset.{u1} α)))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OfNat.ofNat.{u1} (Multiset.{u1} α) 0 (Zero.toOfNat0.{u1} (Multiset.{u1} α) (Multiset.instZeroMultiset.{u1} α)))) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OfNat.ofNat.{u1} (Multiset.{u1} α) 0 (Zero.toOfNat0.{u1} (Multiset.{u1} α) (Multiset.instZeroMultiset.{u1} α)))) (Finsupp.zero.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) Case conversion may be inaccurate. Consider using '#align multiset.to_finsupp_zero Multiset.toFinsupp_zeroₓ'. -/ @@ -272,7 +264,7 @@ theorem toFinsupp_zero : toFinsupp (0 : Multiset α) = 0 := /- warning: multiset.to_finsupp_add -> Multiset.toFinsupp_add is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} (s : Multiset.{u1} α) (t : Multiset.{u1} α), Eq.{succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) (HAdd.hAdd.{u1, u1, u1} (Multiset.{u1} α) (Multiset.{u1} α) (Multiset.{u1} α) (instHAdd.{u1} (Multiset.{u1} α) (Multiset.hasAdd.{u1} α)) s t)) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) (instHAdd.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) s) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) t)) + forall {α : Type.{u1}} (s : Multiset.{u1} α) (t : Multiset.{u1} α), Eq.{succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) (HAdd.hAdd.{u1, u1, u1} (Multiset.{u1} α) (Multiset.{u1} α) (Multiset.{u1} α) (instHAdd.{u1} (Multiset.{u1} α) (Multiset.hasAdd.{u1} α)) s t)) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.{u1, 0} α Nat Nat.hasZero) (instHAdd.{u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) s) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) t)) but is expected to have type forall {α : Type.{u1}} (s : Multiset.{u1} α) (t : Multiset.{u1} α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (HAdd.hAdd.{u1, u1, u1} (Multiset.{u1} α) (Multiset.{u1} α) (Multiset.{u1} α) (instHAdd.{u1} (Multiset.{u1} α) (Multiset.instAddMultiset.{u1} α)) s t)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} α) (HAdd.hAdd.{u1, u1, u1} (Multiset.{u1} α) (Multiset.{u1} α) (Multiset.{u1} α) (instHAdd.{u1} (Multiset.{u1} α) (Multiset.instAddMultiset.{u1} α)) s t)) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) s) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) t) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) s) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) s) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} α) s) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} α) t)) Case conversion may be inaccurate. Consider using '#align multiset.to_finsupp_add Multiset.toFinsupp_addₓ'. -/ @@ -282,7 +274,7 @@ theorem toFinsupp_add (s t : Multiset α) : toFinsupp (s + t) = toFinsupp s + to /- warning: multiset.to_finsupp_singleton -> Multiset.toFinsupp_singleton is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} (a : α), Eq.{succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) (Singleton.singleton.{u1, u1} α (Multiset.{u1} α) (Multiset.hasSingleton.{u1} α) a)) (Finsupp.single.{u1, 0} α Nat Nat.hasZero a (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) + forall {α : Type.{u1}} (a : α), Eq.{succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) (Singleton.singleton.{u1, u1} α (Multiset.{u1} α) (Multiset.hasSingleton.{u1} α) a)) (Finsupp.single.{u1, 0} α Nat Nat.hasZero a (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) but is expected to have type forall {α : Type.{u1}} (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Singleton.singleton.{u1, u1} α (Multiset.{u1} α) (Multiset.instSingletonMultiset.{u1} α) a)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} α) (Singleton.singleton.{u1, u1} α (Multiset.{u1} α) (Multiset.instSingletonMultiset.{u1} α) a)) (Finsupp.single.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) Case conversion may be inaccurate. Consider using '#align multiset.to_finsupp_singleton Multiset.toFinsupp_singletonₓ'. -/ @@ -293,7 +285,7 @@ theorem toFinsupp_singleton (a : α) : toFinsupp ({a} : Multiset α) = Finsupp.s /- warning: multiset.to_finsupp_to_multiset -> Multiset.toFinsupp_toMultiset is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} (s : Multiset.{u1} α), Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) s)) s + forall {α : Type.{u1}} (s : Multiset.{u1} α), Eq.{succ u1} (Multiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) s)) s but is expected to have type forall {α : Type.{u1}} (s : Multiset.{u1} α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (a : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} α) s)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} α) s)) s Case conversion may be inaccurate. Consider using '#align multiset.to_finsupp_to_multiset Multiset.toFinsupp_toMultisetₓ'. -/ @@ -304,7 +296,7 @@ theorem toFinsupp_toMultiset (s : Multiset α) : s.toFinsupp.toMultiset = s := /- warning: multiset.to_finsupp_eq_iff -> Multiset.toFinsupp_eq_iff is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {s : Multiset.{u1} α} {f : Finsupp.{u1, 0} α Nat Nat.hasZero}, Iff (Eq.{succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) s) f) (Eq.{succ u1} (Multiset.{u1} α) s (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) + forall {α : Type.{u1}} {s : Multiset.{u1} α} {f : Finsupp.{u1, 0} α Nat Nat.hasZero}, Iff (Eq.{succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) s) f) (Eq.{succ u1} (Multiset.{u1} α) s (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) but is expected to have type forall {α : Type.{u1}} {s : Multiset.{u1} α} {f : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) s) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} α) s) f) (Eq.{succ u1} (Multiset.{u1} α) s (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) f)) Case conversion may be inaccurate. Consider using '#align multiset.to_finsupp_eq_iff Multiset.toFinsupp_eq_iffₓ'. -/ @@ -316,7 +308,7 @@ end Multiset /- warning: finsupp.to_multiset_to_finsupp -> Finsupp.toMultiset_toFinsupp is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.hasAdd.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) f + forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat Nat.hasZero), Eq.{succ u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} α) -> (Finsupp.{u1, 0} α Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.hasAdd.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} α) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) => (Finsupp.{u1, 0} α Nat Nat.hasZero) -> (Multiset.{u1} α)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} α Nat Nat.hasZero) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} α)) (Finsupp.toMultiset.{u1} α) f)) f but is expected to have type forall {α : Type.{u1}} (f : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) f)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} α) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} α) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α)) (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.addZeroClass.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} α) (Finsupp.add.{u1, 0} α Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} α))))) (Finsupp.toMultiset.{u1} α) f)) f Case conversion may be inaccurate. Consider using '#align finsupp.to_multiset_to_finsupp Finsupp.toMultiset_toFinsuppₓ'. -/ @@ -345,7 +337,7 @@ def orderIsoMultiset : (ι →₀ ℕ) ≃o Multiset ι /- warning: finsupp.coe_order_iso_multiset -> Finsupp.coe_orderIsoMultiset is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}}, Eq.{succ u1} ((Finsupp.{u1, 0} ι Nat Nat.hasZero) -> (Multiset.{u1} ι)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι)))) (fun (_x : RelIso.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (LE.le.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe)) (LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι))))) => (Finsupp.{u1, 0} ι Nat Nat.hasZero) -> (Multiset.{u1} ι)) (RelIso.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (LE.le.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe)) (LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι))))) (Finsupp.orderIsoMultiset.{u1} ι)) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) => (Finsupp.{u1, 0} ι Nat Nat.hasZero) -> (Multiset.{u1} ι)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (Finsupp.toMultiset.{u1} ι)) + forall {ι : Type.{u1}}, Eq.{succ u1} ((Finsupp.{u1, 0} ι Nat Nat.hasZero) -> (Multiset.{u1} ι)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι)))) (fun (_x : RelIso.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (LE.le.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe)) (LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι))))) => (Finsupp.{u1, 0} ι Nat Nat.hasZero) -> (Multiset.{u1} ι)) (RelIso.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (LE.le.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe)) (LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι))))) (Finsupp.orderIsoMultiset.{u1} ι)) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) => (Finsupp.{u1, 0} ι Nat Nat.hasZero) -> (Multiset.{u1} ι)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (Finsupp.toMultiset.{u1} ι)) but is expected to have type forall {ι : Type.{u1}}, Eq.{succ u1} (forall (ᾰ : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} ι) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} ι) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι))) (RelEmbedding.toEmbedding.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => LE.le.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Multiset.{u1} ι) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Multiset.{u1} ι) => LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.instPartialOrderMultiset.{u1} ι))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => LE.le.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Multiset.{u1} ι) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Multiset.{u1} ι) => LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.instPartialOrderMultiset.{u1} ι))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (Finsupp.orderIsoMultiset.{u1} ι)))) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} ι) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} ι) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι))))) (Finsupp.toMultiset.{u1} ι)) Case conversion may be inaccurate. Consider using '#align finsupp.coe_order_iso_multiset Finsupp.coe_orderIsoMultisetₓ'. -/ @@ -356,7 +348,7 @@ theorem coe_orderIsoMultiset : ⇑(@orderIsoMultiset ι) = toMultiset := /- warning: finsupp.coe_order_iso_multiset_symm -> Finsupp.coe_orderIsoMultiset_symm is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}}, Eq.{succ u1} ((Multiset.{u1} ι) -> (Finsupp.{u1, 0} ι Nat Nat.hasZero)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι))) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe)) (fun (_x : RelIso.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι)))) (LE.le.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe))) => (Multiset.{u1} ι) -> (Finsupp.{u1, 0} ι Nat Nat.hasZero)) (RelIso.hasCoeToFun.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι)))) (LE.le.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe))) (OrderIso.symm.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι))) (Finsupp.orderIsoMultiset.{u1} ι))) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} ι) -> (Finsupp.{u1, 0} ι Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} ι)) + forall {ι : Type.{u1}}, Eq.{succ u1} ((Multiset.{u1} ι) -> (Finsupp.{u1, 0} ι Nat Nat.hasZero)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι))) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe)) (fun (_x : RelIso.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι)))) (LE.le.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe))) => (Multiset.{u1} ι) -> (Finsupp.{u1, 0} ι Nat Nat.hasZero)) (RelIso.hasCoeToFun.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι)))) (LE.le.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe))) (OrderIso.symm.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasLe.{u1, 0} ι Nat Nat.hasZero Nat.hasLe) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι))) (Finsupp.orderIsoMultiset.{u1} ι))) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} ι) -> (Finsupp.{u1, 0} ι Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} ι)) but is expected to have type forall {ι : Type.{u1}}, Eq.{succ u1} (forall (ᾰ : Multiset.{u1} ι), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Multiset.{u1} ι) => Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Multiset.{u1} ι) (fun (_x : Multiset.{u1} ι) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Multiset.{u1} ι) => Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (RelEmbedding.toEmbedding.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Multiset.{u1} ι) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Multiset.{u1} ι) => LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.instPartialOrderMultiset.{u1} ι))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => LE.le.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Multiset.{u1} ι) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Multiset.{u1} ι) => LE.le.{u1} (Multiset.{u1} ι) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.instPartialOrderMultiset.{u1} ι))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => LE.le.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (OrderIso.symm.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.instLEFinsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) (Preorder.toLE.{u1} (Multiset.{u1} ι) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.instPartialOrderMultiset.{u1} ι))) (Finsupp.orderIsoMultiset.{u1} ι))))) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} ι) (fun (_x : Multiset.{u1} ι) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} ι) => Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} ι) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι)))))) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι)))))) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} ι)) Case conversion may be inaccurate. Consider using '#align finsupp.coe_order_iso_multiset_symm Finsupp.coe_orderIsoMultiset_symmₓ'. -/ @@ -367,7 +359,7 @@ theorem coe_orderIsoMultiset_symm : ⇑(@orderIsoMultiset ι).symm = Multiset.to /- warning: finsupp.to_multiset_strict_mono -> Finsupp.toMultiset_strictMono is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}}, StrictMono.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.preorder.{u1, 0} ι Nat Nat.hasZero (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι)) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) => (Finsupp.{u1, 0} ι Nat Nat.hasZero) -> (Multiset.{u1} ι)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (Finsupp.toMultiset.{u1} ι)) + forall {ι : Type.{u1}}, StrictMono.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.preorder.{u1, 0} ι Nat Nat.hasZero (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι)) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (fun (_x : AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) => (Finsupp.{u1, 0} ι Nat Nat.hasZero) -> (Multiset.{u1} ι)) (AddEquiv.hasCoeToFun.{u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.hasAdd.{u1} ι)) (Finsupp.toMultiset.{u1} ι)) but is expected to have type forall {ι : Type.{u1}}, StrictMono.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.preorder.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.instPartialOrderMultiset.{u1} ι)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (_x : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Multiset.{u1} ι) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddZeroClass.toAdd.{u1} (Multiset.{u1} ι) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι)))))) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι)))))) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.instAddMultiset.{u1} ι))))) (Finsupp.toMultiset.{u1} ι)) Case conversion may be inaccurate. Consider using '#align finsupp.to_multiset_strict_mono Finsupp.toMultiset_strictMonoₓ'. -/ @@ -397,7 +389,7 @@ end Finsupp /- warning: multiset.to_finsupp_strict_mono -> Multiset.toFinsupp_strictMono is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}}, StrictMono.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι)) (Finsupp.preorder.{u1, 0} ι Nat Nat.hasZero (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} ι) -> (Finsupp.{u1, 0} ι Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} ι)) + forall {ι : Type.{u1}}, StrictMono.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.partialOrder.{u1} ι)) (Finsupp.preorder.{u1, 0} ι Nat Nat.hasZero (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))) (coeFn.{succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (fun (_x : AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) => (Multiset.{u1} ι) -> (Finsupp.{u1, 0} ι Nat Nat.hasZero)) (AddEquiv.hasCoeToFun.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Multiset.hasAdd.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.toFinsupp.{u1} ι)) but is expected to have type forall {ι : Type.{u1}}, StrictMono.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (PartialOrder.toPreorder.{u1} (Multiset.{u1} ι) (Multiset.instPartialOrderMultiset.{u1} ι)) (Finsupp.preorder.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring))) (FunLike.coe.{succ u1, succ u1, succ u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} ι) (fun (_x : Multiset.{u1} ι) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} ι) => Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddZeroClass.toAdd.{u1} (Multiset.{u1} ι) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι))))))) (AddZeroClass.toAdd.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι)))))) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquivClass.instAddMonoidHomClass.{u1, u1, u1} (AddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} ι) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} ι) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} ι) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} ι) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} ι) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} ι)))))) (Finsupp.addZeroClass.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddEquiv.instAddEquivClassAddEquiv.{u1, u1} (Multiset.{u1} ι) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Multiset.instAddMultiset.{u1} ι) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))))) (Multiset.toFinsupp.{u1} ι)) Case conversion may be inaccurate. Consider using '#align multiset.to_finsupp_strict_mono Multiset.toFinsupp_strictMonoₓ'. -/ diff --git a/Mathbin/Data/Finsupp/NeLocus.lean b/Mathbin/Data/Finsupp/NeLocus.lean index 8df544bb26..979f9c9fcc 100644 --- a/Mathbin/Data/Finsupp/NeLocus.lean +++ b/Mathbin/Data/Finsupp/NeLocus.lean @@ -48,7 +48,7 @@ def neLocus (f g : α →₀ N) : Finset α := /- warning: finsupp.mem_ne_locus -> Finsupp.mem_neLocus is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : Zero.{u2} N] {f : Finsupp.{u1, u2} α N _inst_3} {g : Finsupp.{u1, u2} α N _inst_3} {a : α}, Iff (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f g)) (Ne.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_3) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_3) g a)) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : Zero.{u2} N] {f : Finsupp.{u1, u2} α N _inst_3} {g : Finsupp.{u1, u2} α N _inst_3} {a : α}, Iff (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f g)) (Ne.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_3) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_3) g a)) but is expected to have type forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : Zero.{u1} N] {f : Finsupp.{u2, u1} α N _inst_3} {g : Finsupp.{u2, u1} α N _inst_3} {a : α}, Iff (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f g)) (Ne.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_3) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_3) g a)) Case conversion may be inaccurate. Consider using '#align finsupp.mem_ne_locus Finsupp.mem_neLocusₓ'. -/ @@ -60,7 +60,7 @@ theorem mem_neLocus {f g : α →₀ N} {a : α} : a ∈ f.neLocus g ↔ f a ≠ /- warning: finsupp.not_mem_ne_locus -> Finsupp.not_mem_neLocus is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : Zero.{u2} N] {f : Finsupp.{u1, u2} α N _inst_3} {g : Finsupp.{u1, u2} α N _inst_3} {a : α}, Iff (Not (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f g))) (Eq.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_3) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_3) g a)) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : Zero.{u2} N] {f : Finsupp.{u1, u2} α N _inst_3} {g : Finsupp.{u1, u2} α N _inst_3} {a : α}, Iff (Not (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f g))) (Eq.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_3) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_3) g a)) but is expected to have type forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : Zero.{u1} N] {f : Finsupp.{u2, u1} α N _inst_3} {g : Finsupp.{u2, u1} α N _inst_3} {a : α}, Iff (Not (Membership.mem.{u2, u2} α (Finset.{u2} α) (Finset.instMembershipFinset.{u2} α) a (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f g))) (Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_3) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_3) g a)) Case conversion may be inaccurate. Consider using '#align finsupp.not_mem_ne_locus Finsupp.not_mem_neLocusₓ'. -/ @@ -70,7 +70,7 @@ theorem not_mem_neLocus {f g : α →₀ N} {a : α} : a ∉ f.neLocus g ↔ f a /- warning: finsupp.coe_ne_locus -> Finsupp.coe_neLocus is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : Zero.{u2} N] (f : Finsupp.{u1, u2} α N _inst_3) (g : Finsupp.{u1, u2} α N _inst_3), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f g)) (setOf.{u1} α (fun (x : α) => Ne.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_3) f x) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.hasCoeToFun.{u1, u2} α N _inst_3) g x))) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : Zero.{u2} N] (f : Finsupp.{u1, u2} α N _inst_3) (g : Finsupp.{u1, u2} α N _inst_3), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f g)) (setOf.{u1} α (fun (x : α) => Ne.{succ u2} N (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_3) f x) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α N _inst_3) (fun (_x : Finsupp.{u1, u2} α N _inst_3) => α -> N) (Finsupp.coeFun.{u1, u2} α N _inst_3) g x))) but is expected to have type forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : Zero.{u1} N] (f : Finsupp.{u2, u1} α N _inst_3) (g : Finsupp.{u2, u1} α N _inst_3), Eq.{succ u2} (Set.{u2} α) (Finset.toSet.{u2} α (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f g)) (setOf.{u2} α (fun (x : α) => Ne.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_3) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} α N _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => N) _x) (Finsupp.funLike.{u2, u1} α N _inst_3) g x))) Case conversion may be inaccurate. Consider using '#align finsupp.coe_ne_locus Finsupp.coe_neLocusₓ'. -/ @@ -118,7 +118,7 @@ theorem neLocus_comm : f.neLocus g = g.neLocus f := by /- warning: finsupp.ne_locus_zero_right -> Finsupp.neLocus_zero_right is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : Zero.{u2} N] (f : Finsupp.{u1, u2} α N _inst_3), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) (Finsupp.hasZero.{u1, u2} α N _inst_3))))) (Finsupp.support.{u1, u2} α N _inst_3 f) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : Zero.{u2} N] (f : Finsupp.{u1, u2} α N _inst_3), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) (Finsupp.zero.{u1, u2} α N _inst_3))))) (Finsupp.support.{u1, u2} α N _inst_3 f) but is expected to have type forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : Zero.{u1} N] (f : Finsupp.{u2, u1} α N _inst_3), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 f (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α N _inst_3) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α N _inst_3) (Finsupp.zero.{u2, u1} α N _inst_3)))) (Finsupp.support.{u2, u1} α N _inst_3 f) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_zero_right Finsupp.neLocus_zero_rightₓ'. -/ @@ -131,7 +131,7 @@ theorem neLocus_zero_right : f.neLocus 0 = f.support := /- warning: finsupp.ne_locus_zero_left -> Finsupp.neLocus_zero_left is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : Zero.{u2} N] (f : Finsupp.{u1, u2} α N _inst_3), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) (Finsupp.hasZero.{u1, u2} α N _inst_3)))) f) (Finsupp.support.{u1, u2} α N _inst_3 f) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : Zero.{u2} N] (f : Finsupp.{u1, u2} α N _inst_3), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} α N _inst_3) (Finsupp.zero.{u1, u2} α N _inst_3)))) f) (Finsupp.support.{u1, u2} α N _inst_3 f) but is expected to have type forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : Zero.{u1} N] (f : Finsupp.{u2, u1} α N _inst_3), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) _inst_3 (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} α N _inst_3) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} α N _inst_3) (Finsupp.zero.{u2, u1} α N _inst_3))) f) (Finsupp.support.{u2, u1} α N _inst_3 f) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_zero_left Finsupp.neLocus_zero_leftₓ'. -/ @@ -197,7 +197,7 @@ variable [DecidableEq N] /- warning: finsupp.ne_locus_add_left -> Finsupp.neLocus_add_left is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddLeftCancelMonoid.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (h : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.hasAdd.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) f g) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.hasAdd.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) f h)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3))) g h) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddLeftCancelMonoid.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (h : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) f g) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) f h)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3))) g h) but is expected to have type forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddLeftCancelMonoid.{u2} N] (f : Finsupp.{u1, u2} α N (AddLeftCancelMonoid.toZero.{u2} N _inst_3)) (g : Finsupp.{u1, u2} α N (AddLeftCancelMonoid.toZero.{u2} N _inst_3)) (h : Finsupp.{u1, u2} α N (AddLeftCancelMonoid.toZero.{u2} N _inst_3)), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddLeftCancelMonoid.toZero.{u2} N _inst_3) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddLeftCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.{u1, u2} α N (AddLeftCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.{u1, u2} α N (AddLeftCancelMonoid.toZero.{u2} N _inst_3)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddLeftCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) f g) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddLeftCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.{u1, u2} α N (AddLeftCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.{u1, u2} α N (AddLeftCancelMonoid.toZero.{u2} N _inst_3)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddLeftCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddLeftCancelMonoid.toAddMonoid.{u2} N _inst_3)))) f h)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddLeftCancelMonoid.toZero.{u2} N _inst_3) g h) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_add_left Finsupp.neLocus_add_leftₓ'. -/ @@ -209,7 +209,7 @@ theorem neLocus_add_left [AddLeftCancelMonoid N] (f g h : α →₀ N) : /- warning: finsupp.ne_locus_add_right -> Finsupp.neLocus_add_right is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddRightCancelMonoid.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (h : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.hasAdd.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) f h) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.hasAdd.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) g h)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3))) f g) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddRightCancelMonoid.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (h : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) f h) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) g h)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3))) f g) but is expected to have type forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddRightCancelMonoid.{u2} N] (f : Finsupp.{u1, u2} α N (AddRightCancelMonoid.toZero.{u2} N _inst_3)) (g : Finsupp.{u1, u2} α N (AddRightCancelMonoid.toZero.{u2} N _inst_3)) (h : Finsupp.{u1, u2} α N (AddRightCancelMonoid.toZero.{u2} N _inst_3)), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddRightCancelMonoid.toZero.{u2} N _inst_3) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddRightCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.{u1, u2} α N (AddRightCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.{u1, u2} α N (AddRightCancelMonoid.toZero.{u2} N _inst_3)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddRightCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) f h) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddRightCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.{u1, u2} α N (AddRightCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.{u1, u2} α N (AddRightCancelMonoid.toZero.{u2} N _inst_3)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddRightCancelMonoid.toZero.{u2} N _inst_3)) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (AddRightCancelMonoid.toAddMonoid.{u2} N _inst_3)))) g h)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddRightCancelMonoid.toZero.{u2} N _inst_3) f g) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_add_right Finsupp.neLocus_add_rightₓ'. -/ @@ -225,9 +225,9 @@ variable [AddGroup N] (f f₁ f₂ g g₁ g₂ : α →₀ N) /- warning: finsupp.ne_locus_neg_neg -> Finsupp.neLocus_neg_neg is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasNeg.{u1, u2} α N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasNeg.{u1, u2} α N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) g)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f g) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.neg.{u1, u2} α N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.neg.{u1, u2} α N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) g)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f g) but is expected to have type - forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.instNegFinsuppToZero.{u2, u1} α N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.instNegFinsuppToZero.{u2, u1} α N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g)) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g) + forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.neg.{u2, u1} α N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.neg.{u2, u1} α N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g)) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_neg_neg Finsupp.neLocus_neg_negₓ'. -/ @[simp] theorem neLocus_neg_neg : neLocus (-f) (-g) = f.neLocus g := @@ -236,18 +236,18 @@ theorem neLocus_neg_neg : neLocus (-f) (-g) = f.neLocus g := /- warning: finsupp.ne_locus_neg -> Finsupp.neLocus_neg is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasNeg.{u1, u2} α N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f) g) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasNeg.{u1, u2} α N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) g)) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.neg.{u1, u2} α N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f) g) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.neg.{u1, u2} α N (SubNegZeroMonoid.toNegZeroClass.{u2} N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) g)) but is expected to have type - forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.instNegFinsuppToZero.{u2, u1} α N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f) g) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.instNegFinsuppToZero.{u2, u1} α N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g)) + forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.neg.{u2, u1} α N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f) g) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f (Neg.neg.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.neg.{u2, u1} α N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g)) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_neg Finsupp.neLocus_negₓ'. -/ theorem neLocus_neg : neLocus (-f) g = f.neLocus (-g) := by rw [← ne_locus_neg_neg, neg_neg] #align finsupp.ne_locus_neg Finsupp.neLocus_neg /- warning: finsupp.ne_locus_eq_support_sub -> Finsupp.neLocus_eq_support_sub is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f g) (Finsupp.support.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasSub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f g)) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f g) (Finsupp.support.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.sub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f g)) but is expected to have type - forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g) (Finsupp.support.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g)) + forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g) (Finsupp.support.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.sub.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g)) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_eq_support_sub Finsupp.neLocus_eq_support_subₓ'. -/ theorem neLocus_eq_support_sub : f.neLocus g = (f - g).support := by rw [← ne_locus_add_right _ _ (-g), add_right_neg, ne_locus_zero_right, sub_eq_add_neg] @@ -255,9 +255,9 @@ theorem neLocus_eq_support_sub : f.neLocus g = (f - g).support := by /- warning: finsupp.ne_locus_sub_left -> Finsupp.neLocus_sub_left is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g₁ : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g₂ : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasSub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f g₁) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasSub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f g₂)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) g₁ g₂) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g₁ : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g₂ : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.sub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f g₁) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.sub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f g₂)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) g₁ g₂) but is expected to have type - forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g₁ : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g₂ : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g₁) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g₂)) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g₁ g₂) + forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g₁ : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g₂ : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.sub.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g₁) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.sub.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g₂)) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g₁ g₂) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_sub_left Finsupp.neLocus_sub_leftₓ'. -/ @[simp] theorem neLocus_sub_left : neLocus (f - g₁) (f - g₂) = neLocus g₁ g₂ := by @@ -266,9 +266,9 @@ theorem neLocus_sub_left : neLocus (f - g₁) (f - g₂) = neLocus g₁ g₂ := /- warning: finsupp.ne_locus_sub_right -> Finsupp.neLocus_sub_right is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f₁ : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (f₂ : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasSub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f₁ g) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasSub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f₂ g)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f₁ f₂) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f₁ : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (f₂ : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.sub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f₁ g) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.sub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f₂ g)) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f₁ f₂) but is expected to have type - forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f₁ : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (f₂ : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f₁ g) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f₂ g)) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f₁ f₂) + forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f₁ : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (f₂ : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.sub.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f₁ g) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.sub.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f₂ g)) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f₁ f₂) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_sub_right Finsupp.neLocus_sub_rightₓ'. -/ @[simp] theorem neLocus_sub_right : neLocus (f₁ - g) (f₂ - g) = neLocus f₁ f₂ := by @@ -277,7 +277,7 @@ theorem neLocus_sub_right : neLocus (f₁ - g) (f₂ - g) = neLocus f₁ f₂ := /- warning: finsupp.ne_locus_self_add_right -> Finsupp.neLocus_self_add_right is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasAdd.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) f g)) (Finsupp.support.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) g) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) f g)) (Finsupp.support.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) g) but is expected to have type forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.add.{u2, u1} α N (AddMonoid.toAddZeroClass.{u1} N (SubNegMonoid.toAddMonoid.{u1} N (AddGroup.toSubNegMonoid.{u1} N _inst_3))))) f g)) (Finsupp.support.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_self_add_right Finsupp.neLocus_self_add_rightₓ'. -/ @@ -288,7 +288,7 @@ theorem neLocus_self_add_right : neLocus f (f + g) = g.support := by /- warning: finsupp.ne_locus_self_add_left -> Finsupp.neLocus_self_add_left is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasAdd.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) f g) f) (Finsupp.support.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) g) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.add.{u1, u2} α N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) f g) f) (Finsupp.support.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) g) but is expected to have type forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.add.{u2, u1} α N (AddMonoid.toAddZeroClass.{u1} N (SubNegMonoid.toAddMonoid.{u1} N (AddGroup.toSubNegMonoid.{u1} N _inst_3))))) f g) f) (Finsupp.support.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_self_add_left Finsupp.neLocus_self_add_leftₓ'. -/ @@ -299,9 +299,9 @@ theorem neLocus_self_add_left : neLocus (f + g) f = g.support := by /- warning: finsupp.ne_locus_self_sub_right -> Finsupp.neLocus_self_sub_right is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasSub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f g)) (Finsupp.support.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) g) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) f (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.sub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f g)) (Finsupp.support.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) g) but is expected to have type - forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g)) (Finsupp.support.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g) + forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.sub.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g)) (Finsupp.support.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_self_sub_right Finsupp.neLocus_self_sub_rightₓ'. -/ @[simp] theorem neLocus_self_sub_right : neLocus f (f - g) = g.support := by @@ -310,9 +310,9 @@ theorem neLocus_self_sub_right : neLocus f (f - g) = g.support := by /- warning: finsupp.ne_locus_self_sub_left -> Finsupp.neLocus_self_sub_left is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.hasSub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f g) f) (Finsupp.support.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) g) + forall {α : Type.{u1}} {N : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} α] [_inst_2 : DecidableEq.{succ u2} N] [_inst_3 : AddGroup.{u2} N] (f : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (g : Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))), Eq.{succ u1} (Finset.{u1} α) (Finsupp.neLocus.{u1, u2} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3))))) (Finsupp.sub.{u1, u2} α N (SubtractionMonoid.toSubNegZeroMonoid.{u2} N (AddGroup.toSubtractionMonoid.{u2} N _inst_3)))) f g) f) (Finsupp.support.{u1, u2} α N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (SubNegMonoid.toAddMonoid.{u2} N (AddGroup.toSubNegMonoid.{u2} N _inst_3)))) g) but is expected to have type - forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g) f) (Finsupp.support.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g) + forall {α : Type.{u2}} {N : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} α] [_inst_2 : DecidableEq.{succ u1} N] [_inst_3 : AddGroup.{u1} N] (f : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (g : Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))), Eq.{succ u2} (Finset.{u2} α) (Finsupp.neLocus.{u2, u1} α N (fun (a : α) (b : α) => _inst_1 a b) (fun (a : N) (b : N) => _inst_2 a b) (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3))))) (Finsupp.sub.{u2, u1} α N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) f g) f) (Finsupp.support.{u2, u1} α N (NegZeroClass.toZero.{u1} N (SubNegZeroMonoid.toNegZeroClass.{u1} N (SubtractionMonoid.toSubNegZeroMonoid.{u1} N (AddGroup.toSubtractionMonoid.{u1} N _inst_3)))) g) Case conversion may be inaccurate. Consider using '#align finsupp.ne_locus_self_sub_left Finsupp.neLocus_self_sub_leftₓ'. -/ @[simp] theorem neLocus_self_sub_left : neLocus (f - g) f = g.support := by diff --git a/Mathbin/Data/Finsupp/Order.lean b/Mathbin/Data/Finsupp/Order.lean index fb6ecb4e51..231e005e49 100644 --- a/Mathbin/Data/Finsupp/Order.lean +++ b/Mathbin/Data/Finsupp/Order.lean @@ -53,7 +53,7 @@ instance : LE (ι →₀ α) := /- warning: finsupp.le_def -> Finsupp.le_def is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] [_inst_2 : LE.{u2} α] {f : Finsupp.{u1, u2} ι α _inst_1} {g : Finsupp.{u1, u2} ι α _inst_1}, Iff (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.hasLe.{u1, u2} ι α _inst_1 _inst_2) f g) (forall (i : ι), LE.le.{u2} α _inst_2 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) g i)) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] [_inst_2 : LE.{u2} α] {f : Finsupp.{u1, u2} ι α _inst_1} {g : Finsupp.{u1, u2} ι α _inst_1}, Iff (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.hasLe.{u1, u2} ι α _inst_1 _inst_2) f g) (forall (i : ι), LE.le.{u2} α _inst_2 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) g i)) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : Zero.{u1} α] [_inst_2 : LE.{u1} α] {f : Finsupp.{u2, u1} ι α _inst_1} {g : Finsupp.{u2, u1} ι α _inst_1}, Iff (LE.le.{max u2 u1} (Finsupp.{u2, u1} ι α _inst_1) (Finsupp.instLEFinsupp.{u2, u1} ι α _inst_1 _inst_2) f g) (forall (i : ι), LE.le.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_2 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α _inst_1) f i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α _inst_1) g i)) Case conversion may be inaccurate. Consider using '#align finsupp.le_def Finsupp.le_defₓ'. -/ @@ -76,7 +76,7 @@ def orderEmbeddingToFun : (ι →₀ α) ↪o (ι → α) /- warning: finsupp.order_embedding_to_fun_apply -> Finsupp.orderEmbeddingToFun_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] [_inst_2 : LE.{u2} α] {f : Finsupp.{u1, u2} ι α _inst_1} {i : ι}, Eq.{succ u2} α (coeFn.{succ (max u1 u2), succ (max u1 u2)} (OrderEmbedding.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (ι -> α) (Finsupp.hasLe.{u1, u2} ι α _inst_1 _inst_2) (Pi.hasLe.{u1, u2} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_2))) (fun (_x : RelEmbedding.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (ι -> α) (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.hasLe.{u1, u2} ι α _inst_1 _inst_2)) (LE.le.{max u1 u2} (ι -> α) (Pi.hasLe.{u1, u2} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_2)))) => (Finsupp.{u1, u2} ι α _inst_1) -> ι -> α) (RelEmbedding.hasCoeToFun.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (ι -> α) (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.hasLe.{u1, u2} ι α _inst_1 _inst_2)) (LE.le.{max u1 u2} (ι -> α) (Pi.hasLe.{u1, u2} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_2)))) (Finsupp.orderEmbeddingToFun.{u1, u2} ι α _inst_1 _inst_2) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) f i) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] [_inst_2 : LE.{u2} α] {f : Finsupp.{u1, u2} ι α _inst_1} {i : ι}, Eq.{succ u2} α (coeFn.{succ (max u1 u2), succ (max u1 u2)} (OrderEmbedding.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (ι -> α) (Finsupp.hasLe.{u1, u2} ι α _inst_1 _inst_2) (Pi.hasLe.{u1, u2} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_2))) (fun (_x : RelEmbedding.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (ι -> α) (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.hasLe.{u1, u2} ι α _inst_1 _inst_2)) (LE.le.{max u1 u2} (ι -> α) (Pi.hasLe.{u1, u2} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_2)))) => (Finsupp.{u1, u2} ι α _inst_1) -> ι -> α) (RelEmbedding.hasCoeToFun.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (ι -> α) (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.hasLe.{u1, u2} ι α _inst_1 _inst_2)) (LE.le.{max u1 u2} (ι -> α) (Pi.hasLe.{u1, u2} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_2)))) (Finsupp.orderEmbeddingToFun.{u1, u2} ι α _inst_1 _inst_2) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) f i) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : Zero.{u1} α] [_inst_2 : LE.{u1} α] {f : Finsupp.{u2, u1} ι α _inst_1} {i : ι}, Eq.{succ u1} α (FunLike.coe.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (Function.Embedding.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u2, u1} ι α _inst_1) (ι -> α)) (Finsupp.{u2, u1} ι α _inst_1) (fun (_x : Finsupp.{u2, u1} ι α _inst_1) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Finsupp.{u2, u1} ι α _inst_1) => ι -> α) _x) (EmbeddingLike.toFunLike.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (Function.Embedding.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u2, u1} ι α _inst_1) (ι -> α)) (Finsupp.{u2, u1} ι α _inst_1) (ι -> α) (Function.instEmbeddingLikeEmbedding.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u2, u1} ι α _inst_1) (ι -> α))) (RelEmbedding.toEmbedding.{max u1 u2, max u1 u2} (Finsupp.{u2, u1} ι α _inst_1) (ι -> α) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Finsupp.{u2, u1} ι α _inst_1) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Finsupp.{u2, u1} ι α _inst_1) => LE.le.{max u1 u2} (Finsupp.{u2, u1} ι α _inst_1) (Finsupp.instLEFinsupp.{u2, u1} ι α _inst_1 _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : ι -> α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : ι -> α) => LE.le.{max u2 u1} (ι -> α) (Pi.hasLe.{u2, u1} ι (fun (a._@.Mathlib.Data.Finsupp.Order._hyg.125 : ι) => α) (fun (i : ι) => _inst_2)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finsupp.orderEmbeddingToFun.{u2, u1} ι α _inst_1 _inst_2)) f i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α _inst_1) f i) Case conversion may be inaccurate. Consider using '#align finsupp.order_embedding_to_fun_apply Finsupp.orderEmbeddingToFun_applyₓ'. -/ @@ -119,7 +119,7 @@ instance [SemilatticeInf α] : SemilatticeInf (ι →₀ α) := /- warning: finsupp.inf_apply -> Finsupp.inf_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] [_inst_2 : SemilatticeInf.{u2} α] {i : ι} {f : Finsupp.{u1, u2} ι α _inst_1} {g : Finsupp.{u1, u2} ι α _inst_1}, Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) (Inf.inf.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (SemilatticeInf.toHasInf.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.semilatticeInf.{u1, u2} ι α _inst_1 _inst_2)) f g) i) (Inf.inf.{u2} α (SemilatticeInf.toHasInf.{u2} α _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) g i)) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] [_inst_2 : SemilatticeInf.{u2} α] {i : ι} {f : Finsupp.{u1, u2} ι α _inst_1} {g : Finsupp.{u1, u2} ι α _inst_1}, Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) (Inf.inf.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (SemilatticeInf.toHasInf.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.semilatticeInf.{u1, u2} ι α _inst_1 _inst_2)) f g) i) (Inf.inf.{u2} α (SemilatticeInf.toHasInf.{u2} α _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) g i)) but is expected to have type forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] [_inst_2 : SemilatticeInf.{u2} α] {i : ι} {f : Finsupp.{u1, u2} ι α _inst_1} {g : Finsupp.{u1, u2} ι α _inst_1}, Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u1, u2} ι α _inst_1) (Inf.inf.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (SemilatticeInf.toInf.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.semilatticeInf.{u1, u2} ι α _inst_1 _inst_2)) f g) i) (Inf.inf.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (SemilatticeInf.toInf.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u1, u2} ι α _inst_1) f i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u1, u2} ι α _inst_1) g i)) Case conversion may be inaccurate. Consider using '#align finsupp.inf_apply Finsupp.inf_applyₓ'. -/ @@ -137,7 +137,7 @@ instance [SemilatticeSup α] : SemilatticeSup (ι →₀ α) := /- warning: finsupp.sup_apply -> Finsupp.sup_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] [_inst_2 : SemilatticeSup.{u2} α] {i : ι} {f : Finsupp.{u1, u2} ι α _inst_1} {g : Finsupp.{u1, u2} ι α _inst_1}, Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) (Sup.sup.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (SemilatticeSup.toHasSup.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.semilatticeSup.{u1, u2} ι α _inst_1 _inst_2)) f g) i) (Sup.sup.{u2} α (SemilatticeSup.toHasSup.{u2} α _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α _inst_1) g i)) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] [_inst_2 : SemilatticeSup.{u2} α] {i : ι} {f : Finsupp.{u1, u2} ι α _inst_1} {g : Finsupp.{u1, u2} ι α _inst_1}, Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) (Sup.sup.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (SemilatticeSup.toHasSup.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.semilatticeSup.{u1, u2} ι α _inst_1 _inst_2)) f g) i) (Sup.sup.{u2} α (SemilatticeSup.toHasSup.{u2} α _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α _inst_1) (fun (_x : Finsupp.{u1, u2} ι α _inst_1) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α _inst_1) g i)) but is expected to have type forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : Zero.{u2} α] [_inst_2 : SemilatticeSup.{u2} α] {i : ι} {f : Finsupp.{u1, u2} ι α _inst_1} {g : Finsupp.{u1, u2} ι α _inst_1}, Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u1, u2} ι α _inst_1) (Sup.sup.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (SemilatticeSup.toSup.{max u1 u2} (Finsupp.{u1, u2} ι α _inst_1) (Finsupp.semilatticeSup.{u1, u2} ι α _inst_1 _inst_2)) f g) i) (Sup.sup.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (SemilatticeSup.toSup.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u1, u2} ι α _inst_1) f i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι α _inst_1) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u1, u2} ι α _inst_1) g i)) Case conversion may be inaccurate. Consider using '#align finsupp.sup_apply Finsupp.sup_applyₓ'. -/ @@ -179,7 +179,7 @@ instance : OrderBot (ι →₀ α) where /- warning: finsupp.bot_eq_zero -> Finsupp.bot_eq_zero is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α], Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Bot.bot.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (OrderBot.toHasBot.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasLe.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Finsupp.orderBot.{u1, u2} ι α _inst_1))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasZero.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))))))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α], Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Bot.bot.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (OrderBot.toHasBot.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasLe.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Finsupp.orderBot.{u1, u2} ι α _inst_1))) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.zero.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))))))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : CanonicallyOrderedAddMonoid.{u1} α], Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Bot.bot.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (OrderBot.toBot.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.instLEFinsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.orderBot.{u2, u1} ι α _inst_1))) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.zero.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))))) Case conversion may be inaccurate. Consider using '#align finsupp.bot_eq_zero Finsupp.bot_eq_zeroₓ'. -/ @@ -189,7 +189,7 @@ protected theorem bot_eq_zero : (⊥ : ι →₀ α) = 0 := /- warning: finsupp.add_eq_zero_iff -> Finsupp.add_eq_zero_iff is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (g : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))), Iff (Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasAdd.{u1, u2} ι α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f g) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasZero.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))))))) (And (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasZero.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))))))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) g (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasZero.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))))))))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (g : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))), Iff (Eq.{succ (max u1 u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.add.{u1, u2} ι α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f g) (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.zero.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))))))) (And (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.zero.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))))))) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) g (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.zero.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))))))))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : CanonicallyOrderedAddMonoid.{u1} α] (f : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (g : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))), Iff (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (instHAdd.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.add.{u2, u1} ι α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))))) f g) (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.zero.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))))))) (And (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) f (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.zero.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))))))) (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) g (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) 0 (Zero.toOfNat0.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.zero.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))))))) Case conversion may be inaccurate. Consider using '#align finsupp.add_eq_zero_iff Finsupp.add_eq_zero_iffₓ'. -/ @@ -199,7 +199,7 @@ theorem add_eq_zero_iff (f g : ι →₀ α) : f + g = 0 ↔ f = 0 ∧ g = 0 := /- warning: finsupp.le_iff' -> Finsupp.le_iff' is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (g : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) {s : Finset.{u1} ι}, (HasSubset.Subset.{u1} (Finset.{u1} ι) (Finset.hasSubset.{u1} ι) (Finsupp.support.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f) s) -> (Iff (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasLe.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f g) (forall (i : ι), (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) -> (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) g i)))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (g : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) {s : Finset.{u1} ι}, (HasSubset.Subset.{u1} (Finset.{u1} ι) (Finset.hasSubset.{u1} ι) (Finsupp.support.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f) s) -> (Iff (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasLe.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f g) (forall (i : ι), (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i s) -> (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) g i)))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : CanonicallyOrderedAddMonoid.{u1} α] (f : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (g : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) {s : Finset.{u2} ι}, (HasSubset.Subset.{u2} (Finset.{u2} ι) (Finset.instHasSubsetFinset.{u2} ι) (Finsupp.support.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) f) s) -> (Iff (LE.le.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.instLEFinsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) f g) (forall (i : ι), (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i s) -> (LE.le.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (Preorder.toLE.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (PartialOrder.toPreorder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (OrderedAddCommMonoid.toPartialOrder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) f i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) g i)))) Case conversion may be inaccurate. Consider using '#align finsupp.le_iff' Finsupp.le_iff'ₓ'. -/ @@ -211,7 +211,7 @@ theorem le_iff' (f g : ι →₀ α) {s : Finset ι} (hf : f.support ⊆ s) : f /- warning: finsupp.le_iff -> Finsupp.le_iff is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (g : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))), Iff (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasLe.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f g) (forall (i : ι), (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i (Finsupp.support.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f)) -> (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) g i))) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (g : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))), Iff (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasLe.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f g) (forall (i : ι), (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i (Finsupp.support.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) f)) -> (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) g i))) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : CanonicallyOrderedAddMonoid.{u1} α] (f : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (g : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))), Iff (LE.le.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.instLEFinsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) f g) (forall (i : ι), (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i (Finsupp.support.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) f)) -> (LE.le.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (Preorder.toLE.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (PartialOrder.toPreorder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (OrderedAddCommMonoid.toPartialOrder.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) i) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) f i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) g i))) Case conversion may be inaccurate. Consider using '#align finsupp.le_iff Finsupp.le_iffₓ'. -/ @@ -231,7 +231,7 @@ instance decidableLE [DecidableRel (@LE.le α _)] : DecidableRel (@LE.le (ι → /- warning: finsupp.single_le_iff -> Finsupp.single_le_iff is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] {i : ι} {x : α} {f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))}, Iff (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasLe.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Finsupp.single.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) i x) f) (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) x (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f i)) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] {i : ι} {x : α} {f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))}, Iff (LE.le.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.hasLe.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) (Finsupp.single.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) i x) f) (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) x (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f i)) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : CanonicallyOrderedAddMonoid.{u1} α] {i : ι} {x : α} {f : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))}, Iff (LE.le.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.instLEFinsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.single.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) i x) f) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) x (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) f i)) Case conversion may be inaccurate. Consider using '#align finsupp.single_le_iff Finsupp.single_le_iffₓ'. -/ @@ -265,7 +265,7 @@ instance : CanonicallyOrderedAddMonoid (ι →₀ α) := /- warning: finsupp.coe_tsub -> Finsupp.coe_tsub is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] [_inst_2 : Sub.{u2} α] [_inst_3 : OrderedSub.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) _inst_2] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (g : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))), Eq.{succ (max u1 u2)} (ι -> α) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.tsub.{u1, u2} ι α _inst_1 _inst_2 _inst_3)) f g)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (ι -> α) (ι -> α) (ι -> α) (instHSub.{max u1 u2} (ι -> α) (Pi.instSub.{u1, u2} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_2))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) g)) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] [_inst_2 : Sub.{u2} α] [_inst_3 : OrderedSub.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) _inst_2] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (g : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))), Eq.{succ (max u1 u2)} (ι -> α) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.tsub.{u1, u2} ι α _inst_1 _inst_2 _inst_3)) f g)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (ι -> α) (ι -> α) (ι -> α) (instHSub.{max u1 u2} (ι -> α) (Pi.instSub.{u1, u2} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_2))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) g)) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : CanonicallyOrderedAddMonoid.{u1} α] [_inst_2 : Sub.{u1} α] [_inst_3 : OrderedSub.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) _inst_2] (f : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (g : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : ι), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.tsub.{u2, u1} ι α _inst_1 _inst_2 _inst_3)) f g)) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (forall (ᾰ : ι), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) ᾰ) (forall (ᾰ : ι), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) ᾰ) (forall (ᾰ : ι), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) ᾰ) (instHSub.{max u2 u1} (forall (ᾰ : ι), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) ᾰ) (Pi.instSub.{u2, u1} ι (fun (ᾰ : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) ᾰ) (fun (i : ι) => _inst_2))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) g)) Case conversion may be inaccurate. Consider using '#align finsupp.coe_tsub Finsupp.coe_tsubₓ'. -/ @@ -276,7 +276,7 @@ theorem coe_tsub (f g : ι →₀ α) : ⇑(f - g) = f - g := /- warning: finsupp.tsub_apply -> Finsupp.tsub_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] [_inst_2 : Sub.{u2} α] [_inst_3 : OrderedSub.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) _inst_2] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (g : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (a : ι), Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.tsub.{u1, u2} ι α _inst_1 _inst_2 _inst_3)) f g) a) (HSub.hSub.{u2, u2, u2} α α α (instHSub.{u2} α _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.hasCoeToFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) g a)) + forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : CanonicallyOrderedAddMonoid.{u2} α] [_inst_2 : Sub.{u2} α] [_inst_3 : OrderedSub.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1))))) _inst_2] (f : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (g : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (a : ι), Eq.{succ u2} α (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (Finsupp.tsub.{u1, u2} ι α _inst_1 _inst_2 _inst_3)) f g) a) (HSub.hSub.{u2, u2, u2} α α α (instHSub.{u2} α _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) => ι -> α) (Finsupp.coeFun.{u1, u2} ι α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u2} α _inst_1)))))) g a)) but is expected to have type forall {ι : Type.{u2}} {α : Type.{u1}} [_inst_1 : CanonicallyOrderedAddMonoid.{u1} α] [_inst_2 : Sub.{u1} α] [_inst_3 : OrderedSub.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommMonoid.toPartialOrder.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) _inst_2] (f : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (g : Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (a : ι), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (instHSub.{max u2 u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) (Finsupp.tsub.{u2, u1} ι α _inst_1 _inst_2 _inst_3)) f g) a) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) (instHSub.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) a) _inst_2) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => α) _x) (Finsupp.funLike.{u2, u1} ι α (AddMonoid.toZero.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (OrderedAddCommMonoid.toAddCommMonoid.{u1} α (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} α _inst_1))))) g a)) Case conversion may be inaccurate. Consider using '#align finsupp.tsub_apply Finsupp.tsub_applyₓ'. -/ @@ -376,27 +376,19 @@ end CanonicallyLinearOrderedAddMonoid section Nat -/- warning: finsupp.sub_single_one_add -> Finsupp.sub_single_one_add is a dubious translation: -lean 3 declaration is - forall {ι : Type.{u1}} {a : ι} {u : Finsupp.{u1, 0} ι Nat Nat.hasZero} {u' : Finsupp.{u1, 0} ι Nat Nat.hasZero}, (Ne.{1} Nat (coeFn.{succ u1, succ u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (fun (_x : Finsupp.{u1, 0} ι Nat Nat.hasZero) => ι -> Nat) (Finsupp.hasCoeToFun.{u1, 0} ι Nat Nat.hasZero) u a) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (Eq.{succ u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (instHAdd.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (instHSub.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.tsub.{u1, 0} ι Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) u (Finsupp.single.{u1, 0} ι Nat Nat.hasZero a (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) u') (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (instHSub.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.tsub.{u1, 0} ι Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (instHAdd.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) u u') (Finsupp.single.{u1, 0} ι Nat Nat.hasZero a (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) -but is expected to have type - forall {ι : Type.{u1}} {a : ι} {u : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {u' : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, (Ne.{1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Nat) a) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Nat) _x) (Finsupp.funLike.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) u a) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Nat) a) 0 (instOfNatNat 0))) -> (Eq.{succ u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} ι Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) u (Finsupp.single.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) u') (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} ι Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) u u') (Finsupp.single.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) -Case conversion may be inaccurate. Consider using '#align finsupp.sub_single_one_add Finsupp.sub_single_one_addₓ'. -/ +#print Finsupp.sub_single_one_add /- theorem sub_single_one_add {a : ι} {u u' : ι →₀ ℕ} (h : u a ≠ 0) : u - single a 1 + u' = u + u' - single a 1 := tsub_add_eq_add_tsub <| single_le_iff.mpr <| Nat.one_le_iff_ne_zero.mpr h #align finsupp.sub_single_one_add Finsupp.sub_single_one_add +-/ -/- warning: finsupp.add_sub_single_one -> Finsupp.add_sub_single_one is a dubious translation: -lean 3 declaration is - forall {ι : Type.{u1}} {a : ι} {u : Finsupp.{u1, 0} ι Nat Nat.hasZero} {u' : Finsupp.{u1, 0} ι Nat Nat.hasZero}, (Ne.{1} Nat (coeFn.{succ u1, succ u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (fun (_x : Finsupp.{u1, 0} ι Nat Nat.hasZero) => ι -> Nat) (Finsupp.hasCoeToFun.{u1, 0} ι Nat Nat.hasZero) u' a) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (Eq.{succ u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (instHAdd.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) u (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (instHSub.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.tsub.{u1, 0} ι Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) u' (Finsupp.single.{u1, 0} ι Nat Nat.hasZero a (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (instHSub.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.tsub.{u1, 0} ι Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.{u1, 0} ι Nat Nat.hasZero) (instHAdd.{u1} (Finsupp.{u1, 0} ι Nat Nat.hasZero) (Finsupp.hasAdd.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) u u') (Finsupp.single.{u1, 0} ι Nat Nat.hasZero a (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) -but is expected to have type - forall {ι : Type.{u1}} {a : ι} {u : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {u' : Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, (Ne.{1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Nat) a) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Nat) _x) (Finsupp.funLike.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) u' a) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Nat) a) 0 (instOfNatNat 0))) -> (Eq.{succ u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) u (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} ι Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) u' (Finsupp.single.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} ι Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} ι Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) u u') (Finsupp.single.{u1, 0} ι Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) a (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) -Case conversion may be inaccurate. Consider using '#align finsupp.add_sub_single_one Finsupp.add_sub_single_oneₓ'. -/ +#print Finsupp.add_sub_single_one /- theorem add_sub_single_one {a : ι} {u u' : ι →₀ ℕ} (h : u' a ≠ 0) : u + (u' - single a 1) = u + u' - single a 1 := (add_tsub_assoc_of_le (single_le_iff.mpr <| Nat.one_le_iff_ne_zero.mpr h) _).symm #align finsupp.add_sub_single_one Finsupp.add_sub_single_one +-/ end Nat diff --git a/Mathbin/Data/Finsupp/Pointwise.lean b/Mathbin/Data/Finsupp/Pointwise.lean index 970bb30ef6..b1771a2b7c 100644 --- a/Mathbin/Data/Finsupp/Pointwise.lean +++ b/Mathbin/Data/Finsupp/Pointwise.lean @@ -48,7 +48,7 @@ instance : Mul (α →₀ β) := /- warning: finsupp.coe_mul -> Finsupp.coe_mul is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MulZeroClass.{u2} β] (g₁ : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (g₂ : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)), Eq.{succ (max u1 u2)} (α -> β) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.hasCoeToFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (instHMul.{max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.hasMul.{u1, u2} α β _inst_1)) g₁ g₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> β) (α -> β) (α -> β) (instHMul.{max u1 u2} (α -> β) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => MulZeroClass.toHasMul.{u2} β _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.hasCoeToFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) g₁) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.hasCoeToFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) g₂)) + forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MulZeroClass.{u2} β] (g₁ : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (g₂ : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)), Eq.{succ (max u1 u2)} (α -> β) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.coeFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (instHMul.{max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.hasMul.{u1, u2} α β _inst_1)) g₁ g₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> β) (α -> β) (α -> β) (instHMul.{max u1 u2} (α -> β) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => MulZeroClass.toHasMul.{u2} β _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.coeFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) g₁) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.coeFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) g₂)) but is expected to have type forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MulZeroClass.{u2} β] (g₁ : Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) (g₂ : Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) _x) (Finsupp.funLike.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) (instHMul.{max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) (Finsupp.instMulFinsuppToZero.{u1, u2} α β _inst_1)) g₁ g₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) ᾰ) (instHMul.{max u1 u2} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) ᾰ) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) ᾰ) (fun (i : α) => MulZeroClass.toMul.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) i) _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) _x) (Finsupp.funLike.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) _x) (Finsupp.funLike.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) g₂)) Case conversion may be inaccurate. Consider using '#align finsupp.coe_mul Finsupp.coe_mulₓ'. -/ @@ -58,7 +58,7 @@ theorem coe_mul (g₁ g₂ : α →₀ β) : ⇑(g₁ * g₂) = g₁ * g₂ := /- warning: finsupp.mul_apply -> Finsupp.mul_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MulZeroClass.{u2} β] {g₁ : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)} {g₂ : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)} {a : α}, Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.hasCoeToFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (instHMul.{max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.hasMul.{u1, u2} α β _inst_1)) g₁ g₂) a) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (MulZeroClass.toHasMul.{u2} β _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.hasCoeToFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) g₁ a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.hasCoeToFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) g₂ a)) + forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MulZeroClass.{u2} β] {g₁ : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)} {g₂ : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)} {a : α}, Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.coeFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (instHMul.{max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (Finsupp.hasMul.{u1, u2} α β _inst_1)) g₁ g₂) a) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (MulZeroClass.toHasMul.{u2} β _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.coeFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) g₁ a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) => α -> β) (Finsupp.coeFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β _inst_1)) g₂ a)) but is expected to have type forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : MulZeroClass.{u2} β] {g₁ : Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)} {g₂ : Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)} {a : α}, Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) _x) (Finsupp.funLike.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) (instHMul.{max u1 u2} (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) (Finsupp.instMulFinsuppToZero.{u1, u2} α β _inst_1)) g₁ g₂) a) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) a) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) a) (instHMul.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) a) (MulZeroClass.toMul.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) a) _inst_1)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) _x) (Finsupp.funLike.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) g₁ a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) _x) (Finsupp.funLike.{u1, u2} α β (MulZeroClass.toZero.{u2} β _inst_1)) g₂ a)) Case conversion may be inaccurate. Consider using '#align finsupp.mul_apply Finsupp.mul_applyₓ'. -/ @@ -139,7 +139,7 @@ instance pointwiseScalar [Semiring β] : SMul (α → β) (α →₀ β) /- warning: finsupp.coe_pointwise_smul -> Finsupp.coe_pointwise_smul is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Semiring.{u2} β] (f : α -> β) (g : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))), Eq.{succ (max u1 u2)} (α -> β) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) => α -> β) (Finsupp.hasCoeToFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) (SMul.smul.{max u1 u2, max u1 u2} (α -> β) (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) (Finsupp.pointwiseScalar.{u1, u2} α β _inst_1) f g)) (SMul.smul.{max u1 u2, max u1 u2} (α -> β) (α -> β) (Pi.smul'.{u1, u2, u2} α (fun (ᾰ : α) => β) (fun (ᾰ : α) => β) (fun (i : α) => Mul.toSMul.{u2} β (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1)))))) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) => α -> β) (Finsupp.hasCoeToFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) g)) + forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Semiring.{u2} β] (f : α -> β) (g : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))), Eq.{succ (max u1 u2)} (α -> β) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) => α -> β) (Finsupp.coeFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) (SMul.smul.{max u1 u2, max u1 u2} (α -> β) (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) (Finsupp.pointwiseScalar.{u1, u2} α β _inst_1) f g)) (SMul.smul.{max u1 u2, max u1 u2} (α -> β) (α -> β) (Pi.smul'.{u1, u2, u2} α (fun (ᾰ : α) => β) (fun (ᾰ : α) => β) (fun (i : α) => Mul.toSMul.{u2} β (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1)))))) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) (fun (_x : Finsupp.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) => α -> β) (Finsupp.coeFun.{u1, u2} α β (MulZeroClass.toHasZero.{u2} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β (Semiring.toNonAssocSemiring.{u2} β _inst_1))))) g)) but is expected to have type forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Semiring.{u2} β] (f : α -> β) (g : Finsupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β (Semiring.toMonoidWithZero.{u2} β _inst_1))), Eq.{max (succ u1) (succ u2)} (α -> β) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β (Semiring.toMonoidWithZero.{u2} β _inst_1))) α (fun (_x : α) => β) (Finsupp.funLike.{u1, u2} α β (MonoidWithZero.toZero.{u2} β (Semiring.toMonoidWithZero.{u2} β _inst_1))) (HSMul.hSMul.{max u1 u2, max u1 u2, max u1 u2} (α -> β) (Finsupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β (Semiring.toMonoidWithZero.{u2} β _inst_1))) (Finsupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β (Semiring.toMonoidWithZero.{u2} β _inst_1))) (instHSMul.{max u1 u2, max u1 u2} (α -> β) (Finsupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β (Semiring.toMonoidWithZero.{u2} β _inst_1))) (Finsupp.pointwiseScalar.{u1, u2} α β _inst_1)) f g)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β (Semiring.toMonoidWithZero.{u2} β _inst_1))) α (fun (a : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => β) a) (Finsupp.funLike.{u1, u2} α β (MonoidWithZero.toZero.{u2} β (Semiring.toMonoidWithZero.{u2} β _inst_1))) (HSMul.hSMul.{max u1 u2, max u1 u2, max u1 u2} (α -> β) (Finsupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β (Semiring.toMonoidWithZero.{u2} β _inst_1))) (Finsupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β (Semiring.toMonoidWithZero.{u2} β _inst_1))) (instHSMul.{max u1 u2, max u1 u2} (α -> β) (Finsupp.{u1, u2} α β (MonoidWithZero.toZero.{u2} β (Semiring.toMonoidWithZero.{u2} β _inst_1))) (Finsupp.pointwiseScalar.{u1, u2} α β _inst_1)) f g)) Case conversion may be inaccurate. Consider using '#align finsupp.coe_pointwise_smul Finsupp.coe_pointwise_smulₓ'. -/ diff --git a/Mathbin/Data/Finsupp/ToDfinsupp.lean b/Mathbin/Data/Finsupp/ToDfinsupp.lean index 35ad6d8f8c..8c4711af27 100644 --- a/Mathbin/Data/Finsupp/ToDfinsupp.lean +++ b/Mathbin/Data/Finsupp/ToDfinsupp.lean @@ -137,7 +137,7 @@ def Dfinsupp.toFinsupp (f : Π₀ i : ι, M) : ι →₀ M := /- warning: dfinsupp.to_finsupp_coe -> Dfinsupp.toFinsupp_coe is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Zero.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_2))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)), Eq.{max (succ u1) (succ u2)} (ι -> M) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M _inst_2) (fun (_x : Finsupp.{u1, u2} ι M _inst_2) => ι -> M) (Finsupp.hasCoeToFun.{u1, u2} ι M _inst_2) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) f)) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) (fun (_x : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) => ι -> M) (Dfinsupp.hasCoeToFun.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) f) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Zero.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M _inst_2))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)), Eq.{max (succ u1) (succ u2)} (ι -> M) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M _inst_2) (fun (_x : Finsupp.{u1, u2} ι M _inst_2) => ι -> M) (Finsupp.coeFun.{u1, u2} ι M _inst_2) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) f)) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) (fun (_x : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) => ι -> M) (Dfinsupp.hasCoeToFun.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) f) but is expected to have type forall {ι : Type.{u2}} {M : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : Zero.{u1} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M _inst_2)))] (f : Dfinsupp.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : ι), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => M) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι M _inst_2) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => M) _x) (Finsupp.funLike.{u2, u1} ι M _inst_2) (Dfinsupp.toFinsupp.{u2, u1} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Dfinsupp.{u2, u1} ι (fun (i : ι) => (fun (_i : ι) => M) i) (fun (i : ι) => (fun (i : ι) => _inst_2) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (_i : ι) => M) i) _x) (Dfinsupp.funLike.{u2, u1} ι (fun (i : ι) => (fun (_i : ι) => M) i) (fun (i : ι) => (fun (i : ι) => _inst_2) i)) f) Case conversion may be inaccurate. Consider using '#align dfinsupp.to_finsupp_coe Dfinsupp.toFinsupp_coeₓ'. -/ @@ -215,7 +215,7 @@ theorem toDfinsupp_zero [Zero M] : (0 : ι →₀ M).toDfinsupp = 0 := /- warning: finsupp.to_dfinsupp_add -> Finsupp.toDfinsupp_add is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)) (g : Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{succ (max u1 u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.hasAdd.{u1, u2} ι M _inst_1)) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_1)) (Dfinsupp.hasAdd.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_1))) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1) f) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1) g)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)) (g : Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)), Eq.{succ (max u1 u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} ι M _inst_1)) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_1)) (Dfinsupp.hasAdd.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_1))) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1) f) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_1) g)) but is expected to have type forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddZeroClass.{u2} M] (f : Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_1)) (g : Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_1)), Eq.{max (succ u1) (succ u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_1) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_1)) (Finsupp.add.{u1, u2} ι M _inst_1)) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} M _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} M _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} M _inst_1)) (instHAdd.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} M _inst_1)) (Dfinsupp.instAddDfinsuppToZero.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_1))) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_1) f) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_1) g)) Case conversion may be inaccurate. Consider using '#align finsupp.to_dfinsupp_add Finsupp.toDfinsupp_addₓ'. -/ @@ -227,9 +227,9 @@ theorem toDfinsupp_add [AddZeroClass M] (f g : ι →₀ M) : /- warning: finsupp.to_dfinsupp_neg -> Finsupp.toDfinsupp_neg is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroup.{u2} M] (f : Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))), Eq.{succ (max u1 u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.hasNeg.{u1, u2} ι M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f)) (Neg.neg.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Dfinsupp.hasNeg.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_1)) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1)))) f)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroup.{u2} M] (f : Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))), Eq.{succ (max u1 u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.neg.{u1, u2} ι M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f)) (Neg.neg.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Dfinsupp.hasNeg.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_1)) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1)))) f)) but is expected to have type - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroup.{u2} M] (f : Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))), Eq.{max (succ u1) (succ u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.toDfinsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.instNegFinsuppToZero.{u1, u2} ι M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f)) (Neg.neg.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Dfinsupp.instNegDfinsuppToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_1)) (Finsupp.toDfinsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroup.{u2} M] (f : Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))), Eq.{max (succ u1) (succ u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.toDfinsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.neg.{u1, u2} ι M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f)) (Neg.neg.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Dfinsupp.instNegDfinsuppToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_1)) (Finsupp.toDfinsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f)) Case conversion may be inaccurate. Consider using '#align finsupp.to_dfinsupp_neg Finsupp.toDfinsupp_negₓ'. -/ @[simp] theorem toDfinsupp_neg [AddGroup M] (f : ι →₀ M) : (-f).toDfinsupp = -f.toDfinsupp := @@ -238,9 +238,9 @@ theorem toDfinsupp_neg [AddGroup M] (f : ι →₀ M) : (-f).toDfinsupp = -f.toD /- warning: finsupp.to_dfinsupp_sub -> Finsupp.toDfinsupp_sub is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroup.{u2} M] (f : Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (g : Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))), Eq.{succ (max u1 u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.hasSub.{u1, u2} ι M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f g)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (instHSub.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Dfinsupp.hasSub.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_1))) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1)))) f) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1)))) g)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroup.{u2} M] (f : Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (g : Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))), Eq.{succ (max u1 u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Finsupp.sub.{u1, u2} ι M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f g)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (instHSub.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1))))) (Dfinsupp.hasSub.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_1))) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1)))) f) (Finsupp.toDfinsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_1)))) g)) but is expected to have type - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroup.{u2} M] (f : Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (g : Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))), Eq.{max (succ u1) (succ u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.toDfinsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u1, u2} ι M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f g)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (instHSub.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Dfinsupp.instSubDfinsuppToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_1))) (Finsupp.toDfinsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f) (Finsupp.toDfinsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) g)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddGroup.{u2} M] (f : Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (g : Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))), Eq.{max (succ u1) (succ u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.toDfinsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Finsupp.sub.{u1, u2} ι M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f g)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (instHSub.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1))))) (Dfinsupp.instSubDfinsuppToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_1))) (Finsupp.toDfinsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) f) (Finsupp.toDfinsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_1)))) g)) Case conversion may be inaccurate. Consider using '#align finsupp.to_dfinsupp_sub Finsupp.toDfinsupp_subₓ'. -/ @[simp] theorem toDfinsupp_sub [AddGroup M] (f g : ι →₀ M) : @@ -250,9 +250,9 @@ theorem toDfinsupp_sub [AddGroup M] (f g : ι →₀ M) : /- warning: finsupp.to_dfinsupp_smul -> Finsupp.toDfinsupp_smul is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Monoid.{u2} R] [_inst_2 : AddMonoid.{u3} M] [_inst_3 : DistribMulAction.{u2, u3} R M _inst_1 _inst_2] (r : R) (f : Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))), Eq.{succ (max u1 u3)} (Dfinsupp.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))) (Finsupp.toDfinsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2)) (SMul.smul.{u2, max u1 u3} R (Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))) (SMulZeroClass.toHasSmul.{u2, max u1 u3} R (Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))) (Finsupp.hasZero.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))) (Finsupp.smulZeroClass.{u1, u3, u2} ι M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2)) (DistribSMul.toSmulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_2) (DistribMulAction.toDistribSMul.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) r f)) (SMul.smul.{u2, max u1 u3} R (Dfinsupp.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))) (Dfinsupp.hasSmul.{u1, u3, u2} ι R (fun (i : ι) => M) _inst_1 (fun (i : ι) => _inst_2) (fun (i : ι) => _inst_3)) r (Finsupp.toDfinsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2)) f)) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Monoid.{u2} R] [_inst_2 : AddMonoid.{u3} M] [_inst_3 : DistribMulAction.{u2, u3} R M _inst_1 _inst_2] (r : R) (f : Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))), Eq.{succ (max u1 u3)} (Dfinsupp.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))) (Finsupp.toDfinsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2)) (SMul.smul.{u2, max u1 u3} R (Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))) (SMulZeroClass.toHasSmul.{u2, max u1 u3} R (Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))) (Finsupp.zero.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))) (Finsupp.smulZeroClass.{u1, u3, u2} ι M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2)) (DistribSMul.toSmulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_2) (DistribMulAction.toDistribSMul.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) r f)) (SMul.smul.{u2, max u1 u3} R (Dfinsupp.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2))) (Dfinsupp.hasSmul.{u1, u3, u2} ι R (fun (i : ι) => M) _inst_1 (fun (i : ι) => _inst_2) (fun (i : ι) => _inst_3)) r (Finsupp.toDfinsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_2)) f)) but is expected to have type - forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Monoid.{u3} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u3, u2} R M _inst_1 _inst_2] (r : R) (f : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)), Eq.{max (succ u1) (succ u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} M _inst_2)) (Finsupp.toDfinsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finsupp.zero.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u2, u3} ι M R (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) r f)) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Dfinsupp.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} M _inst_2)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} M _inst_2)) (instHSMul.{u3, max u1 u2} R (Dfinsupp.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} M _inst_2)) (Dfinsupp.instSMulDfinsuppToZero.{u1, u2, u3} ι R (fun (_i : ι) => M) _inst_1 (fun (i : ι) => _inst_2) (fun (i : ι) => _inst_3))) r (Finsupp.toDfinsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2) f)) + forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Monoid.{u3} R] [_inst_2 : AddMonoid.{u2} M] [_inst_3 : DistribMulAction.{u3, u2} R M _inst_1 _inst_2] (r : R) (f : Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)), Eq.{max (succ u1) (succ u2)} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} M _inst_2)) (Finsupp.toDfinsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finsupp.zero.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2)) (Finsupp.smulZeroClass.{u1, u2, u3} ι M R (AddMonoid.toZero.{u2} M _inst_2) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_2) (DistribMulAction.toDistribSMul.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) r f)) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Dfinsupp.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} M _inst_2)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} M _inst_2)) (instHSMul.{u3, max u1 u2} R (Dfinsupp.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} M _inst_2)) (Dfinsupp.instSMulDfinsuppToZero.{u1, u2, u3} ι R (fun (_i : ι) => M) _inst_1 (fun (i : ι) => _inst_2) (fun (i : ι) => _inst_3))) r (Finsupp.toDfinsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_2) f)) Case conversion may be inaccurate. Consider using '#align finsupp.to_dfinsupp_smul Finsupp.toDfinsupp_smulₓ'. -/ @[simp] theorem toDfinsupp_smul [Monoid R] [AddMonoid M] [DistribMulAction R M] (r : R) (f : ι →₀ M) : @@ -275,7 +275,7 @@ theorem toFinsupp_zero [Zero M] [∀ m : M, Decidable (m ≠ 0)] : toFinsupp 0 = /- warning: dfinsupp.to_finsupp_add -> Dfinsupp.toFinsupp_add is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddZeroClass.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_2)))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => M) i) _inst_2)) (g : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => M) i) _inst_2)), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M _inst_2) (fun (m : M) => _inst_3 m) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_2)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_2)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_2)) (instHAdd.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_2)) (Dfinsupp.hasAdd.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (Finsupp.hasAdd.{u1, u2} ι M _inst_2)) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M _inst_2) (fun (m : M) => _inst_3 m) f) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M _inst_2) (fun (m : M) => _inst_3 m) g)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddZeroClass.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_2)))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => M) i) _inst_2)) (g : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => M) i) _inst_2)), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M _inst_2) (fun (m : M) => _inst_3 m) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_2)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_2)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_2)) (instHAdd.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_2)) (Dfinsupp.hasAdd.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (Finsupp.add.{u1, u2} ι M _inst_2)) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M _inst_2) (fun (m : M) => _inst_3 m) f) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M _inst_2) (fun (m : M) => _inst_3 m) g)) but is expected to have type forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddZeroClass.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddZeroClass.toZero.{u2} M _inst_2))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} ((fun (i : ι) => M) i) _inst_2)) (g : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} ((fun (i : ι) => M) i) _inst_2)), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_2)) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toZero.{u2} M _inst_2) (fun (m : M) => _inst_3 m) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) _inst_2)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) _inst_2)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) _inst_2)) (instHAdd.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) _inst_2)) (Dfinsupp.instAddDfinsuppToZero.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_2)) (Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_2)) (Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_2)) (instHAdd.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_2)) (Finsupp.add.{u1, u2} ι M _inst_2)) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toZero.{u2} M _inst_2) (fun (m : M) => _inst_3 m) f) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toZero.{u2} M _inst_2) (fun (m : M) => _inst_3 m) g)) Case conversion may be inaccurate. Consider using '#align dfinsupp.to_finsupp_add Dfinsupp.toFinsupp_addₓ'. -/ @@ -287,9 +287,9 @@ theorem toFinsupp_add [AddZeroClass M] [∀ m : M, Decidable (m ≠ 0)] (f g : /- warning: dfinsupp.to_finsupp_neg -> Dfinsupp.toFinsupp_neg is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddGroup.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => M) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => M) i) (SubNegMonoid.toAddMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubNegMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) (Neg.neg.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.hasNeg.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) f)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Finsupp.hasNeg.{u1, u2} ι M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) f)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddGroup.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => M) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => M) i) (SubNegMonoid.toAddMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubNegMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) (Neg.neg.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.hasNeg.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) f)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Finsupp.neg.{u1, u2} ι M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) f)) but is expected to have type - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddGroup.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) (Neg.neg.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (_i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (_i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2))))) (Dfinsupp.instNegDfinsuppToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) f)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Finsupp.instNegFinsuppToZero.{u1, u2} ι M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) f)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddGroup.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) (Neg.neg.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (_i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (_i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2))))) (Dfinsupp.instNegDfinsuppToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) f)) (Neg.neg.{max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Finsupp.neg.{u1, u2} ι M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) f)) Case conversion may be inaccurate. Consider using '#align dfinsupp.to_finsupp_neg Dfinsupp.toFinsupp_negₓ'. -/ @[simp] theorem toFinsupp_neg [AddGroup M] [∀ m : M, Decidable (m ≠ 0)] (f : Π₀ i : ι, M) : @@ -299,9 +299,9 @@ theorem toFinsupp_neg [AddGroup M] [∀ m : M, Decidable (m ≠ 0)] (f : Π₀ i /- warning: dfinsupp.to_finsupp_sub -> Dfinsupp.toFinsupp_sub is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddGroup.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => M) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => M) i) (SubNegMonoid.toAddMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubNegMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))) (g : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => M) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => M) i) (SubNegMonoid.toAddMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubNegMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (instHSub.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.hasSub.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2))) f g)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Finsupp.hasSub.{u1, u2} ι M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) f) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) g)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddGroup.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => M) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => M) i) (SubNegMonoid.toAddMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubNegMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))) (g : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => M) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => M) i) (SubNegMonoid.toAddMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubNegMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (instHSub.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Dfinsupp.hasSub.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2))) f g)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2))))) (Finsupp.sub.{u1, u2} ι M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) f) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) g)) but is expected to have type - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddGroup.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))) (g : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (_i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (_i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (_i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (_i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (_i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (_i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2))))) (instHSub.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (_i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (_i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2))))) (Dfinsupp.instSubDfinsuppToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2))) f g)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Finsupp.instSubFinsuppToZeroToNegZeroClass.{u1, u2} ι M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) f) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) g)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddGroup.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))))))] (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))) (g : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (i : ι) => M) i) _inst_2))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (_i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (_i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (_i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (_i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (_i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (_i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2))))) (instHSub.{max u1 u2} (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NegZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (_i : ι) => M) i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (_i : ι) => M) i) (AddGroup.toSubtractionMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2))))) (Dfinsupp.instSubDfinsuppToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2))) f g)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (instHSub.{max u1 u2} (Finsupp.{u1, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2))))) (Finsupp.sub.{u1, u2} ι M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) f) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (AddGroup.toSubtractionMonoid.{u2} M _inst_2)))) (fun (m : M) => _inst_3 m) g)) Case conversion may be inaccurate. Consider using '#align dfinsupp.to_finsupp_sub Dfinsupp.toFinsupp_subₓ'. -/ @[simp] theorem toFinsupp_sub [AddGroup M] [∀ m : M, Decidable (m ≠ 0)] (f g : Π₀ i : ι, M) : @@ -311,9 +311,9 @@ theorem toFinsupp_sub [AddGroup M] [∀ m : M, Decidable (m ≠ 0)] (f g : Π₀ /- warning: dfinsupp.to_finsupp_smul -> Dfinsupp.toFinsupp_smul is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Monoid.{u2} R] [_inst_3 : AddMonoid.{u3} M] [_inst_4 : DistribMulAction.{u2, u3} R M _inst_2 _inst_3] [_inst_5 : forall (m : M), Decidable (Ne.{succ u3} M m (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))))))] (r : R) (f : Dfinsupp.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M) i) _inst_3))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))) (Dfinsupp.toFinsupp.{u1, u3} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3)) (fun (m : M) => _inst_5 m) (SMul.smul.{u2, max u1 u3} R (Dfinsupp.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))) (Dfinsupp.hasSmul.{u1, u3, u2} ι R (fun (i : ι) => M) _inst_2 (fun (i : ι) => _inst_3) (fun (i : ι) => _inst_4)) r f)) (SMul.smul.{u2, max u1 u3} R (Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))) (SMulZeroClass.toHasSmul.{u2, max u1 u3} R (Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))) (Finsupp.hasZero.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))) (Finsupp.smulZeroClass.{u1, u3, u2} ι M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3)) (DistribSMul.toSmulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_3) (DistribMulAction.toDistribSMul.{u2, u3} R M _inst_2 _inst_3 _inst_4)))) r (Dfinsupp.toFinsupp.{u1, u3} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3)) (fun (m : M) => _inst_5 m) f)) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Monoid.{u2} R] [_inst_3 : AddMonoid.{u3} M] [_inst_4 : DistribMulAction.{u2, u3} R M _inst_2 _inst_3] [_inst_5 : forall (m : M), Decidable (Ne.{succ u3} M m (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))))))] (r : R) (f : Dfinsupp.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => M) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => M) i) _inst_3))), Eq.{max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))) (Dfinsupp.toFinsupp.{u1, u3} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3)) (fun (m : M) => _inst_5 m) (SMul.smul.{u2, max u1 u3} R (Dfinsupp.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))) (Dfinsupp.hasSmul.{u1, u3, u2} ι R (fun (i : ι) => M) _inst_2 (fun (i : ι) => _inst_3) (fun (i : ι) => _inst_4)) r f)) (SMul.smul.{u2, max u1 u3} R (Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))) (SMulZeroClass.toHasSmul.{u2, max u1 u3} R (Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))) (Finsupp.zero.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3))) (Finsupp.smulZeroClass.{u1, u3, u2} ι M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3)) (DistribSMul.toSmulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M _inst_3) (DistribMulAction.toDistribSMul.{u2, u3} R M _inst_2 _inst_3 _inst_4)))) r (Dfinsupp.toFinsupp.{u1, u3} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M _inst_3)) (fun (m : M) => _inst_5 m) f)) but is expected to have type - forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Monoid.{u3} R] [_inst_3 : AddMonoid.{u2} M] [_inst_4 : DistribMulAction.{u3, u2} R M _inst_2 _inst_3] [_inst_5 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M _inst_3))))] (r : R) (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => M) i) _inst_3)), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddMonoid.toZero.{u2} M _inst_3) (fun (m : M) => _inst_5 m) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Dfinsupp.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (_i : ι) => M) i) _inst_3)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (_i : ι) => M) i) _inst_3)) (instHSMul.{u3, max u1 u2} R (Dfinsupp.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (_i : ι) => M) i) _inst_3)) (Dfinsupp.instSMulDfinsuppToZero.{u1, u2, u3} ι R (fun (_i : ι) => M) _inst_2 (fun (i : ι) => _inst_3) (fun (i : ι) => _inst_4))) r f)) (HSMul.hSMul.{u3, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (Finsupp.zero.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (Finsupp.instSMulZeroClassFinsuppZero.{u1, u2, u3} ι M R (AddMonoid.toZero.{u2} M _inst_3) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_3) (DistribMulAction.toDistribSMul.{u3, u2} R M _inst_2 _inst_3 _inst_4))))) r (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddMonoid.toZero.{u2} M _inst_3) (fun (m : M) => _inst_5 m) f)) + forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Monoid.{u3} R] [_inst_3 : AddMonoid.{u2} M] [_inst_4 : DistribMulAction.{u3, u2} R M _inst_2 _inst_3] [_inst_5 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M _inst_3))))] (r : R) (f : Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => M) i) _inst_3)), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddMonoid.toZero.{u2} M _inst_3) (fun (m : M) => _inst_5 m) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} R (Dfinsupp.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (_i : ι) => M) i) _inst_3)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (_i : ι) => M) i) _inst_3)) (instHSMul.{u3, max u1 u2} R (Dfinsupp.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (_i : ι) => M) i) _inst_3)) (Dfinsupp.instSMulDfinsuppToZero.{u1, u2, u3} ι R (fun (_i : ι) => M) _inst_2 (fun (i : ι) => _inst_3) (fun (i : ι) => _inst_4))) r f)) (HSMul.hSMul.{u3, max u2 u1, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (instHSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (SMulZeroClass.toSMul.{u3, max u1 u2} R (Finsupp.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (Finsupp.zero.{u1, u2} ι M (AddMonoid.toZero.{u2} M _inst_3)) (Finsupp.smulZeroClass.{u1, u2, u3} ι M R (AddMonoid.toZero.{u2} M _inst_3) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M _inst_3) (DistribMulAction.toDistribSMul.{u3, u2} R M _inst_2 _inst_3 _inst_4))))) r (Dfinsupp.toFinsupp.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) (AddMonoid.toZero.{u2} M _inst_3) (fun (m : M) => _inst_5 m) f)) Case conversion may be inaccurate. Consider using '#align dfinsupp.to_finsupp_smul Dfinsupp.toFinsupp_smulₓ'. -/ @[simp] theorem toFinsupp_smul [Monoid R] [AddMonoid M] [DistribMulAction R M] [∀ m : M, Decidable (m ≠ 0)] @@ -344,7 +344,7 @@ def finsuppEquivDfinsupp [DecidableEq ι] [Zero M] [∀ m : M, Decidable (m ≠ /- warning: finsupp_add_equiv_dfinsupp -> finsuppAddEquivDfinsupp is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddZeroClass.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_2)))))], AddEquiv.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_2)) (Finsupp.hasAdd.{u1, u2} ι M _inst_2) (Dfinsupp.hasAdd.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) + forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddZeroClass.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M _inst_2)))))], AddEquiv.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι M (AddZeroClass.toHasZero.{u2} M _inst_2)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u2} M _inst_2)) (Finsupp.add.{u1, u2} ι M _inst_2) (Dfinsupp.hasAdd.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) but is expected to have type forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddZeroClass.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddZeroClass.toZero.{u2} M _inst_2))))], AddEquiv.{max u2 u1, max u2 u1} (Finsupp.{u1, u2} ι M (AddZeroClass.toZero.{u2} M _inst_2)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toZero.{u2} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.add.{u1, u2} ι M _inst_2) (Dfinsupp.instAddDfinsuppToZero.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => _inst_2)) Case conversion may be inaccurate. Consider using '#align finsupp_add_equiv_dfinsupp finsuppAddEquivDfinsuppₓ'. -/ @@ -365,7 +365,7 @@ variable (R) lean 3 declaration is forall {ι : Type.{u1}} (R : Type.{u2}) {M : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : forall (m : M), Decidable (Ne.{succ u3} M m (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))))))] [_inst_5 : Module.{u2, u3} R M _inst_2 _inst_3], LinearEquiv.{u2, u2, max u1 u3, max u1 u3} 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) (Finsupp.{u1, u3} ι M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) (Dfinsupp.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u3} ι M _inst_3) (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R _inst_2 _inst_3 _inst_5) (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => M) _inst_2 (fun (i : ι) => _inst_3) (fun (i : ι) => _inst_5)) but is expected to have type - forall {ι : Type.{u1}} (R : Type.{u2}) {M : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : forall (m : M), Decidable (Ne.{succ u3} M m (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))))] [_inst_5 : Module.{u2, u3} R M _inst_2 _inst_3], LinearEquiv.{u2, u2, max u3 u1, max u3 u1} 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) (Finsupp.{u1, u3} ι M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Dfinsupp.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (_i : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (_i : ι) => M) i) _inst_3))) (Finsupp.addCommMonoid.{u1, u3} ι M _inst_3) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u2} ι M R _inst_2 _inst_3 _inst_5) (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => M) _inst_2 (fun (i : ι) => _inst_3) (fun (i : ι) => _inst_5)) + forall {ι : Type.{u1}} (R : Type.{u2}) {M : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : forall (m : M), Decidable (Ne.{succ u3} M m (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))))] [_inst_5 : Module.{u2, u3} R M _inst_2 _inst_3], LinearEquiv.{u2, u2, max u3 u1, max u3 u1} 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) (Finsupp.{u1, u3} ι M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Dfinsupp.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (_i : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (_i : ι) => M) i) _inst_3))) (Finsupp.addCommMonoid.{u1, u3} ι M _inst_3) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R _inst_2 _inst_3 _inst_5) (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => M) _inst_2 (fun (i : ι) => _inst_3) (fun (i : ι) => _inst_5)) Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_dfinsupp finsuppLequivDfinsuppₓ'. -/ /-- The additive version of `finsupp.to_finsupp`. Note that this is `noncomputable` because `finsupp.has_add` is noncomputable. -/ @@ -420,7 +420,7 @@ def sigmaFinsuppEquivDfinsupp [Zero N] : ((Σi, η i) →₀ N) ≃ Π₀ i, η /- warning: sigma_finsupp_equiv_dfinsupp_apply -> sigmaFinsuppEquivDfinsupp_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : Zero.{u3} N] (f : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2), Eq.{max (succ u1) (succ u2) (succ u3)} ((fun (_x : Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) => forall (i : ι), Finsupp.{u2, u3} (η i) N _inst_2) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N _inst_2) f)) (coeFn.{succ (max u1 u2 u3), max (succ u1) (succ (max u2 u3))} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) (fun (_x : Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) => forall (i : ι), Finsupp.{u2, u3} (η i) N _inst_2) (Dfinsupp.hasCoeToFun.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N _inst_2) f)) (Finsupp.split.{u1, u3, u2} ι N (fun (i : ι) => η i) _inst_2 f) + forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : Zero.{u3} N] (f : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2), Eq.{max (succ u1) (succ u2) (succ u3)} ((fun (_x : Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) => forall (i : ι), Finsupp.{u2, u3} (η i) N _inst_2) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N _inst_2) f)) (coeFn.{succ (max u1 u2 u3), max (succ u1) (succ (max u2 u3))} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) (fun (_x : Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) => forall (i : ι), Finsupp.{u2, u3} (η i) N _inst_2) (Dfinsupp.hasCoeToFun.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N _inst_2) f)) (Finsupp.split.{u1, u3, u2} ι N (fun (i : ι) => η i) _inst_2 f) but is expected to have type forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : Zero.{u3} N] (f : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (forall (a : ι), (fun (i : ι) => (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) i) a) (FunLike.coe.{max (succ u1) (succ (max u2 u3)), succ u1, succ (max u2 u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) i) (fun (i : ι) => (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) i) _x) (Dfinsupp.funLike.{u1, max u2 u3} ι (fun (i : ι) => (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) i) (fun (i : ι) => (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2) i)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Equiv.{max (succ u3) (succ (max u2 u1)), max (succ (max u3 u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2))) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (fun (_x : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N _inst_2) f)) (Finsupp.split.{u1, u3, u2} ι N (fun (i : ι) => η i) _inst_2 f) Case conversion may be inaccurate. Consider using '#align sigma_finsupp_equiv_dfinsupp_apply sigmaFinsuppEquivDfinsupp_applyₓ'. -/ @@ -432,7 +432,7 @@ theorem sigmaFinsuppEquivDfinsupp_apply [Zero N] (f : (Σi, η i) →₀ N) : /- warning: sigma_finsupp_equiv_dfinsupp_symm_apply -> sigmaFinsuppEquivDfinsupp_symm_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : Zero.{u3} N] (f : Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) (s : Sigma.{u1, u2} ι (fun (i : ι) => η i)), Eq.{succ u3} N (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (fun (_x : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) => (Sigma.{u1, u2} ι (fun (i : ι) => η i)) -> N) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (coeFn.{max 1 (max (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3)) (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3)), max (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3)} (Equiv.{succ (max u1 u2 u3), max (succ (max u1 u2)) (succ u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) (fun (_x : Equiv.{succ (max u1 u2 u3), max (succ (max u1 u2)) (succ u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) => (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) -> (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) (Equiv.hasCoeToFun.{succ (max u1 u2 u3), max (succ (max u1 u2)) (succ u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) (Equiv.symm.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N _inst_2)) f) s) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} (η (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) s)) N _inst_2) (fun (_x : Finsupp.{u2, u3} (η (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) s)) N _inst_2) => (η (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) s)) -> N) (Finsupp.hasCoeToFun.{u2, u3} (η (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) s)) N _inst_2) (coeFn.{succ (max u1 u2 u3), max (succ u1) (succ (max u2 u3))} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) (fun (_x : Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) => forall (i : ι), Finsupp.{u2, u3} (η i) N _inst_2) (Dfinsupp.hasCoeToFun.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_2)) f (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) s)) (Sigma.snd.{u1, u2} ι (fun (i : ι) => η i) s)) + forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : Zero.{u3} N] (f : Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) (s : Sigma.{u1, u2} ι (fun (i : ι) => η i)), Eq.{succ u3} N (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (fun (_x : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) => (Sigma.{u1, u2} ι (fun (i : ι) => η i)) -> N) (Finsupp.coeFun.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (coeFn.{max 1 (max (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3)) (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3)), max (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3)} (Equiv.{succ (max u1 u2 u3), max (succ (max u1 u2)) (succ u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) (fun (_x : Equiv.{succ (max u1 u2 u3), max (succ (max u1 u2)) (succ u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) => (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) -> (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) (Equiv.hasCoeToFun.{succ (max u1 u2 u3), max (succ (max u1 u2)) (succ u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) (Equiv.symm.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N _inst_2)) f) s) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} (η (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) s)) N _inst_2) (fun (_x : Finsupp.{u2, u3} (η (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) s)) N _inst_2) => (η (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) s)) -> N) (Finsupp.coeFun.{u2, u3} (η (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) s)) N _inst_2) (coeFn.{succ (max u1 u2 u3), max (succ u1) (succ (max u2 u3))} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) (fun (_x : Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) => forall (i : ι), Finsupp.{u2, u3} (η i) N _inst_2) (Dfinsupp.hasCoeToFun.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_2)) f (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) s)) (Sigma.snd.{u1, u2} ι (fun (i : ι) => η i) s)) but is expected to have type forall {ι : Type.{u2}} {η : ι -> Type.{u1}} {N : Type.{u3}} [_inst_2 : Zero.{u3} N] (f : Dfinsupp.{u2, max u3 u1} ι (fun (i : ι) => Finsupp.{u1, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u1, u3} (η i) N _inst_2)) (s : Sigma.{u2, u1} ι (fun (i : ι) => η i)), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u2, u1} ι (fun (i : ι) => η i)) => N) s) (FunLike.coe.{max (succ (max u2 u1)) (succ u3), succ (max u2 u1), succ u3} (Finsupp.{max u2 u1, u3} (Sigma.{u2, u1} ι (fun (i : ι) => η i)) N _inst_2) (Sigma.{u2, u1} ι (fun (i : ι) => η i)) (fun (_x : Sigma.{u2, u1} ι (fun (i : ι) => η i)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u2, u1} ι (fun (i : ι) => η i)) => N) _x) (Finsupp.funLike.{max u2 u1, u3} (Sigma.{u2, u1} ι (fun (i : ι) => η i)) N _inst_2) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (max (succ u3) (succ u1)) (succ u2), max (max (succ u3) (succ u1)) (succ u2)} (Equiv.{max (max (succ u3) (succ u1)) (succ u2), max (max (succ u3) (succ u1)) (succ u2)} (Dfinsupp.{u2, max u3 u1} ι (fun (i : ι) => Finsupp.{u1, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u1, u3} (η i) N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u2, u1} ι (fun (i : ι) => η i)) N _inst_2)) (Dfinsupp.{u2, max u3 u1} ι (fun (i : ι) => Finsupp.{u1, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u1, u3} (η i) N _inst_2)) (fun (_x : Dfinsupp.{u2, max u3 u1} ι (fun (i : ι) => Finsupp.{u1, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u1, u3} (η i) N _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Dfinsupp.{u2, max u3 u1} ι (fun (i : ι) => Finsupp.{u1, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u1, u3} (η i) N _inst_2)) => Finsupp.{max u1 u2, u3} (Sigma.{u2, u1} ι (fun (i : ι) => η i)) N _inst_2) _x) (Equiv.instFunLikeEquiv.{max (max (succ u3) (succ u1)) (succ u2), max (max (succ u3) (succ u1)) (succ u2)} (Dfinsupp.{u2, max u3 u1} ι (fun (i : ι) => Finsupp.{u1, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u1, u3} (η i) N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u2, u1} ι (fun (i : ι) => η i)) N _inst_2)) (Equiv.symm.{max (max (succ u3) (succ u1)) (succ u2), max (max (succ u3) (succ u1)) (succ u2)} (Finsupp.{max u1 u2, u3} (Sigma.{u2, u1} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.{u2, max u3 u1} ι (fun (i : ι) => Finsupp.{u1, u3} (η i) N _inst_2) (fun (i : ι) => Finsupp.zero.{u1, u3} (η i) N _inst_2)) (sigmaFinsuppEquivDfinsupp.{u2, u1, u3} ι (fun (i : ι) => η i) N _inst_2)) f) s) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} (η (Sigma.fst.{u2, u1} ι (fun (i : ι) => η i) s)) N _inst_2) (η (Sigma.fst.{u2, u1} ι (fun (i : ι) => η i) s)) (fun (_x : η (Sigma.fst.{u2, u1} ι (fun (i : ι) => η i) s)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : η (Sigma.fst.{u2, u1} ι (fun (i : ι) => η i) s)) => N) _x) (Finsupp.funLike.{u1, u3} (η (Sigma.fst.{u2, u1} ι (fun (i : ι) => η i) s)) N _inst_2) (FunLike.coe.{max (succ u2) (succ (max u1 u3)), succ u2, succ (max u1 u3)} (Dfinsupp.{u2, max u1 u3} ι (fun (i : ι) => (fun (i : ι) => Finsupp.{u1, u3} (η i) N _inst_2) i) (fun (i : ι) => (fun (i : ι) => Finsupp.zero.{u1, u3} (η i) N _inst_2) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => Finsupp.{u1, u3} (η i) N _inst_2) i) _x) (Dfinsupp.funLike.{u2, max u1 u3} ι (fun (i : ι) => (fun (i : ι) => Finsupp.{u1, u3} (η i) N _inst_2) i) (fun (i : ι) => (fun (i : ι) => Finsupp.zero.{u1, u3} (η i) N _inst_2) i)) f (Sigma.fst.{u2, u1} ι (fun (i : ι) => η i) s)) (Sigma.snd.{u2, u1} ι (fun (i : ι) => η i) s)) Case conversion may be inaccurate. Consider using '#align sigma_finsupp_equiv_dfinsupp_symm_apply sigmaFinsuppEquivDfinsupp_symm_applyₓ'. -/ @@ -444,7 +444,7 @@ theorem sigmaFinsuppEquivDfinsupp_symm_apply [Zero N] (f : Π₀ i, η i →₀ /- warning: sigma_finsupp_equiv_dfinsupp_support -> sigmaFinsuppEquivDfinsupp_support is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : Zero.{u3} N] [_inst_4 : forall (i : ι) (x : Finsupp.{u2, u3} (η i) N _inst_3), Decidable (Ne.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} (η i) N _inst_3) x (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} (η i) N _inst_3) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} (η i) N _inst_3) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} (η i) N _inst_3) (Finsupp.hasZero.{u2, u3} (η i) N _inst_3)))))] (f : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3), Eq.{succ u1} (Finset.{u1} ι) (Dfinsupp.support.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (a : ι) (b : ι) => _inst_2 a b) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_3) (fun (i : ι) (x : Finsupp.{u2, u3} (η i) N _inst_3) => _inst_4 i x) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_3))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_3))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_3))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_3))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N _inst_3) f)) (Finsupp.splitSupport.{u1, u3, u2} ι N (fun (i : ι) => η i) _inst_3 f) + forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : Zero.{u3} N] [_inst_4 : forall (i : ι) (x : Finsupp.{u2, u3} (η i) N _inst_3), Decidable (Ne.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} (η i) N _inst_3) x (OfNat.ofNat.{max u2 u3} (Finsupp.{u2, u3} (η i) N _inst_3) 0 (OfNat.mk.{max u2 u3} (Finsupp.{u2, u3} (η i) N _inst_3) 0 (Zero.zero.{max u2 u3} (Finsupp.{u2, u3} (η i) N _inst_3) (Finsupp.zero.{u2, u3} (η i) N _inst_3)))))] (f : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3), Eq.{succ u1} (Finset.{u1} ι) (Dfinsupp.support.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (a : ι) (b : ι) => _inst_2 a b) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_3) (fun (i : ι) (x : Finsupp.{u2, u3} (η i) N _inst_3) => _inst_4 i x) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_3))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_3))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_3))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_3))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N _inst_3) f)) (Finsupp.splitSupport.{u1, u3, u2} ι N (fun (i : ι) => η i) _inst_3 f) but is expected to have type forall {ι : Type.{u3}} {η : ι -> Type.{u1}} {N : Type.{u2}} [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : Zero.{u2} N] [_inst_4 : forall (i : ι) (x : Finsupp.{u1, u2} (η i) N _inst_3), Decidable (Ne.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (η i) N _inst_3) x (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} (η i) N _inst_3) 0 (Zero.toOfNat0.{max u1 u2} (Finsupp.{u1, u2} (η i) N _inst_3) (Finsupp.zero.{u1, u2} (η i) N _inst_3))))] (f : Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3), Eq.{succ u3} (Finset.{u3} ι) (Dfinsupp.support.{u3, max u1 u2} ι (fun (i : ι) => Finsupp.{u1, u2} (η i) N _inst_3) (fun (a : ι) (b : ι) => _inst_2 a b) (fun (i : ι) => Finsupp.zero.{u1, u2} (η i) N _inst_3) (fun (i : ι) (x : Finsupp.{u1, u2} (η i) N _inst_3) => _inst_4 i x) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (max (succ u2) (succ u1)) (succ u3), max (max (succ u2) (succ u1)) (succ u3)} (Equiv.{max (succ u2) (succ (max u1 u3)), max (succ (max u2 u1)) (succ u3)} (Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u3, max u2 u1} ι (fun (i : ι) => Finsupp.{u1, u2} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u1, u2} (η i) N _inst_3))) (Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3) (fun (_x : Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3) => Dfinsupp.{u3, max u2 u1} ι (fun (i : ι) => Finsupp.{u1, u2} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u1, u2} (η i) N _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (max (succ u2) (succ u1)) (succ u3), max (max (succ u2) (succ u1)) (succ u3)} (Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u3, max u2 u1} ι (fun (i : ι) => Finsupp.{u1, u2} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u1, u2} (η i) N _inst_3))) (sigmaFinsuppEquivDfinsupp.{u3, u1, u2} ι (fun (i : ι) => η i) N _inst_3) f)) (Finsupp.splitSupport.{u3, u2, u1} ι N (fun (i : ι) => η i) _inst_3 f) Case conversion may be inaccurate. Consider using '#align sigma_finsupp_equiv_dfinsupp_support sigmaFinsuppEquivDfinsupp_supportₓ'. -/ @@ -460,7 +460,7 @@ theorem sigmaFinsuppEquivDfinsupp_support [DecidableEq ι] [Zero N] /- warning: sigma_finsupp_equiv_dfinsupp_single -> sigmaFinsuppEquivDfinsupp_single is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : Zero.{u3} N] (a : Sigma.{u1, u2} ι (fun (i : ι) => η i)) (n : N), Eq.{succ (max u1 u2 u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_3)) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_3))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_3))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_3))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_3))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N _inst_3) (Finsupp.single.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3 a n)) (Dfinsupp.single.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (a : ι) (b : ι) => _inst_2 a b) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N _inst_3) (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) a) (Finsupp.single.{u2, u3} (η (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) a)) N _inst_3 (Sigma.snd.{u1, u2} ι (fun (i : ι) => η i) a) n)) + forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : Zero.{u3} N] (a : Sigma.{u1, u2} ι (fun (i : ι) => η i)) (n : N), Eq.{succ (max u1 u2 u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_3)) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_3))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_3))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_3))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_3))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N _inst_3) (Finsupp.single.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3 a n)) (Dfinsupp.single.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N _inst_3) (fun (a : ι) (b : ι) => _inst_2 a b) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N _inst_3) (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) a) (Finsupp.single.{u2, u3} (η (Sigma.fst.{u1, u2} ι (fun (i : ι) => η i) a)) N _inst_3 (Sigma.snd.{u1, u2} ι (fun (i : ι) => η i) a) n)) but is expected to have type forall {ι : Type.{u3}} {η : ι -> Type.{u1}} {N : Type.{u2}} [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : Zero.{u2} N] (a : Sigma.{u3, u1} ι (fun (i : ι) => η i)) (n : N), Eq.{max (max (succ u3) (succ u1)) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3) => Dfinsupp.{u3, max u2 u1} ι (fun (i : ι) => Finsupp.{u1, u2} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u1, u2} (η i) N _inst_3)) (Finsupp.single.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3 a n)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (max (succ u2) (succ u1)) (succ u3), max (max (succ u2) (succ u1)) (succ u3)} (Equiv.{max (succ u2) (succ (max u1 u3)), max (succ (max u2 u1)) (succ u3)} (Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u3, max u2 u1} ι (fun (i : ι) => Finsupp.{u1, u2} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u1, u2} (η i) N _inst_3))) (Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3) (fun (_x : Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3) => Dfinsupp.{u3, max u2 u1} ι (fun (i : ι) => Finsupp.{u1, u2} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u1, u2} (η i) N _inst_3)) _x) (Equiv.instFunLikeEquiv.{max (max (succ u2) (succ u1)) (succ u3), max (max (succ u2) (succ u1)) (succ u3)} (Finsupp.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3) (Dfinsupp.{u3, max u2 u1} ι (fun (i : ι) => Finsupp.{u1, u2} (η i) N _inst_3) (fun (i : ι) => Finsupp.zero.{u1, u2} (η i) N _inst_3))) (sigmaFinsuppEquivDfinsupp.{u3, u1, u2} ι (fun (i : ι) => η i) N _inst_3) (Finsupp.single.{max u1 u3, u2} (Sigma.{u3, u1} ι (fun (i : ι) => η i)) N _inst_3 a n)) (Dfinsupp.single.{u3, max u2 u1} ι (fun (i : ι) => Finsupp.{u1, u2} (η i) N _inst_3) (fun (a : ι) (b : ι) => _inst_2 a b) (fun (i : ι) => Finsupp.zero.{u1, u2} (η i) N _inst_3) (Sigma.fst.{u3, u1} ι (fun (i : ι) => η i) a) (Finsupp.single.{u1, u2} (η (Sigma.fst.{u3, u1} ι (fun (i : ι) => η i) a)) N _inst_3 (Sigma.snd.{u3, u1} ι (fun (i : ι) => η i) a) n)) Case conversion may be inaccurate. Consider using '#align sigma_finsupp_equiv_dfinsupp_single sigmaFinsuppEquivDfinsupp_singleₓ'. -/ @@ -480,11 +480,11 @@ theorem sigmaFinsuppEquivDfinsupp_single [DecidableEq ι] [Zero N] (a : Σi, η #align sigma_finsupp_equiv_dfinsupp_single sigmaFinsuppEquivDfinsupp_single -- Without this Lean fails to find the `add_zero_class` instance on `Π₀ i, (η i →₀ N)`. -attribute [-instance] Finsupp.hasZero +attribute [-instance] Finsupp.zero /- warning: sigma_finsupp_equiv_dfinsupp_add -> sigmaFinsuppEquivDfinsupp_add is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : AddZeroClass.{u3} N] (f : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (g : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)), Eq.{succ (max u1 u2 u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2))) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (HAdd.hAdd.{max (max u1 u2) u3, max (max u1 u2) u3, max (max u1 u2) u3} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (instHAdd.{max (max u1 u2) u3} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.hasAdd.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) f g)) (HAdd.hAdd.{max u1 u2 u3, max u1 u2 u3, max u1 u2 u3} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) i) (Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) i) (Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) i) (Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (instHAdd.{max u1 u2 u3} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) i) (Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (Dfinsupp.hasAdd.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) f) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) g)) + forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : AddZeroClass.{u3} N] (f : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (g : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)), Eq.{succ (max u1 u2 u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2))) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (HAdd.hAdd.{max (max u1 u2) u3, max (max u1 u2) u3, max (max u1 u2) u3} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (instHAdd.{max (max u1 u2) u3} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.add.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) f g)) (HAdd.hAdd.{max u1 u2 u3, max u1 u2 u3, max u1 u2 u3} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) i) (Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) i) (Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) i) (Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (instHAdd.{max u1 u2 u3} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) i) (Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (Dfinsupp.hasAdd.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) f) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) g)) but is expected to have type forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : AddZeroClass.{u3} N] (f : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (g : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2))) (HAdd.hAdd.{max (max u1 u2) u3, max (max u1 u2) u3, max (max u1 u2) u3} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (instHAdd.{max (max u1 u2) u3} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Finsupp.add.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) f g)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Equiv.{max (succ u3) (succ (max u2 u1)), max (succ (max u3 u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)))) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (_x : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2))) _x) (Equiv.instFunLikeEquiv.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (HAdd.hAdd.{max (max u1 u2) u3, max (max u1 u2) u3, max (max u1 u2) u3} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (instHAdd.{max (max u1 u2) u3} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Finsupp.add.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2)) f g)) (HAdd.hAdd.{max (max u1 u2) u3, max (max u1 u2) u3, max (max u1 u2) u3} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2))) f) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2))) g) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2))) f) (instHAdd.{max (max u1 u2) u3} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2))) f) (Dfinsupp.instAddDfinsuppToZero.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Equiv.{max (succ u3) (succ (max u2 u1)), max (succ (max u3 u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)))) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (_x : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2))) _x) (Equiv.instFunLikeEquiv.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toZero.{u3} N _inst_2)) f) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Equiv.{max (succ u3) (succ (max u2 u1)), max (succ (max u3 u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)))) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (_x : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2))) _x) (Equiv.instFunLikeEquiv.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toZero.{u3} N _inst_2)) g)) Case conversion may be inaccurate. Consider using '#align sigma_finsupp_equiv_dfinsupp_add sigmaFinsuppEquivDfinsupp_addₓ'. -/ @@ -499,7 +499,7 @@ theorem sigmaFinsuppEquivDfinsupp_add [AddZeroClass N] (f g : (Σi, η i) →₀ /- warning: sigma_finsupp_add_equiv_dfinsupp -> sigmaFinsuppAddEquivDfinsupp is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : AddZeroClass.{u3} N], AddEquiv.{max (max u1 u2) u3, max u1 u2 u3} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (Finsupp.hasAdd.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.hasAdd.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2)) + forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : AddZeroClass.{u3} N], AddEquiv.{max (max u1 u2) u3, max u1 u2 u3} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (Finsupp.add.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.hasAdd.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2)) but is expected to have type forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} [_inst_2 : AddZeroClass.{u3} N], AddEquiv.{max u3 u2 u1, max (max u3 u2) u1} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toZero.{u3} N _inst_2)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => AddZeroClass.toZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) i) (Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2))) (Finsupp.add.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.instAddDfinsuppToZero.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toZero.{u3} N _inst_2)) (fun (i : ι) => Finsupp.addZeroClass.{u2, u3} (η i) N _inst_2)) Case conversion may be inaccurate. Consider using '#align sigma_finsupp_add_equiv_dfinsupp sigmaFinsuppAddEquivDfinsuppₓ'. -/ @@ -516,9 +516,9 @@ attribute [-instance] Finsupp.addZeroClass /- warning: sigma_finsupp_equiv_dfinsupp_smul -> sigmaFinsuppEquivDfinsupp_smul is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_2 : Monoid.{u4} R] [_inst_3 : AddMonoid.{u3} N] [_inst_4 : DistribMulAction.{u4, u3} R N _inst_2 _inst_3] (r : R) (f : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))), Eq.{succ (max u1 u2 u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)))) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (SMul.smul.{u4, max (max u1 u2) u3} R (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (SMulZeroClass.toHasSmul.{u4, max (max u1 u2) u3} R (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.hasZero.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.smulZeroClass.{max u1 u2, u3, u4} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N R (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)) (DistribSMul.toSmulZeroClass.{u4, u3} R N (AddMonoid.toAddZeroClass.{u3} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u3} R N _inst_2 _inst_3 _inst_4)))) r f)) (SMul.smul.{u4, max u1 u2 u3} R (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3)))) (MulAction.toHasSmul.{u4, max u1 u2 u3} R (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3)))) _inst_2 (DistribMulAction.toMulAction.{u4, max u1 u2 u3} R (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3)))) _inst_2 (Dfinsupp.addMonoid.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.addMonoid.{u2, u3} (η i) N _inst_3)) (Dfinsupp.distribMulAction.{u1, max u2 u3, u4} ι R (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) _inst_2 (fun (i : ι) => Finsupp.addMonoid.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.distribMulAction.{u2, u3, u4} (η i) N R _inst_2 _inst_3 _inst_4)))) r (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.hasZero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) f)) + forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_2 : Monoid.{u4} R] [_inst_3 : AddMonoid.{u3} N] [_inst_4 : DistribMulAction.{u4, u3} R N _inst_2 _inst_3] (r : R) (f : Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))), Eq.{succ (max u1 u2 u3)} (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)))) (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (SMul.smul.{u4, max (max u1 u2) u3} R (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (SMulZeroClass.toHasSmul.{u4, max (max u1 u2) u3} R (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.zero.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.smulZeroClass.{max u1 u2, u3, u4} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N R (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3)) (DistribSMul.toSmulZeroClass.{u4, u3} R N (AddMonoid.toAddZeroClass.{u3} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u3} R N _inst_2 _inst_3 _inst_4)))) r f)) (SMul.smul.{u4, max u1 u2 u3} R (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3)))) (MulAction.toHasSmul.{u4, max u1 u2 u3} R (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3)))) _inst_2 (DistribMulAction.toMulAction.{u4, max u1 u2 u3} R (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => AddZeroClass.toHasZero.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3)))) _inst_2 (Dfinsupp.addMonoid.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.addMonoid.{u2, u3} (η i) N _inst_3)) (Dfinsupp.distribMulAction.{u1, max u2 u3, u4} ι R (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) _inst_2 (fun (i : ι) => Finsupp.addMonoid.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.distribMulAction.{u2, u3, u4} (η i) N R _inst_2 _inst_3 _inst_4)))) r (coeFn.{max 1 (max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))) (succ (max u1 u2 u3)) (succ (max u1 u2)) (succ u3), max (max (succ (max u1 u2)) (succ u3)) (succ (max u1 u2 u3))} (Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (fun (_x : Equiv.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) => (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) -> (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (Equiv.hasCoeToFun.{max (succ (max u1 u2)) (succ u3), succ (max u1 u2 u3)} (Finsupp.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (Dfinsupp.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N _inst_3))) f)) but is expected to have type - forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_2 : Monoid.{u4} R] [_inst_3 : AddMonoid.{u3} N] [_inst_4 : DistribMulAction.{u4, u3} R N _inst_2 _inst_3] (r : R) (f : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3))) (HSMul.hSMul.{u4, max (max u1 u2) u3, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (instHSMul.{u4, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (SMulZeroClass.toSMul.{u4, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (AddMonoid.toZero.{max (max u1 u2) u3} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Finsupp.addMonoid.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3)) (Finsupp.instSMulZeroClassFinsuppZero.{max u1 u2, u3, u4} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N R (AddMonoid.toZero.{u3} N _inst_3) (DistribSMul.toSMulZeroClass.{u4, u3} R N (AddMonoid.toAddZeroClass.{u3} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u3} R N _inst_2 _inst_3 _inst_4))))) r f)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Equiv.{max (succ u3) (succ (max u2 u1)), max (succ (max u3 u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)))) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (_x : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddMonoid.toZero.{u3} N _inst_3)) (HSMul.hSMul.{u4, max (max u1 u2) u3, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (instHSMul.{u4, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (SMulZeroClass.toSMul.{u4, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (AddMonoid.toZero.{max (max u1 u2) u3} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Finsupp.addMonoid.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3)) (Finsupp.instSMulZeroClassFinsuppZero.{max u1 u2, u3, u4} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N R (AddMonoid.toZero.{u3} N _inst_3) (DistribSMul.toSMulZeroClass.{u4, u3} R N (AddMonoid.toAddZeroClass.{u3} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u3} R N _inst_2 _inst_3 _inst_4))))) r f)) (SMul.smul.{u4, max (max u3 u2) u1} R (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => AddMonoid.toZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) i) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3))) (MulAction.toSMul.{u4, max (max u1 u2) u3} R (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => AddMonoid.toZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) i) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3))) _inst_2 (DistribMulAction.toMulAction.{u4, max (max u1 u2) u3} R (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => AddMonoid.toZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) i) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3))) _inst_2 (Dfinsupp.instAddMonoidDfinsuppToZero.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.addMonoid.{u2, u3} (η i) N _inst_3)) (Dfinsupp.distribMulAction.{u1, max u2 u3, u4} ι R (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) _inst_2 (fun (i : ι) => Finsupp.addMonoid.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.distribMulAction.{u2, u3, u4} (η i) N R _inst_2 _inst_3 _inst_4)))) r (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Equiv.{max (succ u3) (succ (max u2 u1)), max (succ (max u3 u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)))) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (_x : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddMonoid.toZero.{u3} N _inst_3)) f)) + forall {ι : Type.{u1}} {η : ι -> Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_2 : Monoid.{u4} R] [_inst_3 : AddMonoid.{u3} N] [_inst_4 : DistribMulAction.{u4, u3} R N _inst_2 _inst_3] (r : R) (f : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3))) (HSMul.hSMul.{u4, max (max u1 u2) u3, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (instHSMul.{u4, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (SMulZeroClass.toSMul.{u4, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (AddMonoid.toZero.{max (max u1 u2) u3} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Finsupp.addMonoid.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3)) (Finsupp.smulZeroClass.{max u1 u2, u3, u4} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N R (AddMonoid.toZero.{u3} N _inst_3) (DistribSMul.toSMulZeroClass.{u4, u3} R N (AddMonoid.toAddZeroClass.{u3} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u3} R N _inst_2 _inst_3 _inst_4))))) r f)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Equiv.{max (succ u3) (succ (max u2 u1)), max (succ (max u3 u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)))) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (_x : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddMonoid.toZero.{u3} N _inst_3)) (HSMul.hSMul.{u4, max (max u1 u2) u3, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (instHSMul.{u4, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (SMulZeroClass.toSMul.{u4, max (max u1 u2) u3} R (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (AddMonoid.toZero.{max (max u1 u2) u3} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Finsupp.addMonoid.{max u1 u2, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N _inst_3)) (Finsupp.smulZeroClass.{max u1 u2, u3, u4} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N R (AddMonoid.toZero.{u3} N _inst_3) (DistribSMul.toSMulZeroClass.{u4, u3} R N (AddMonoid.toAddZeroClass.{u3} N _inst_3) (DistribMulAction.toDistribSMul.{u4, u3} R N _inst_2 _inst_3 _inst_4))))) r f)) (SMul.smul.{u4, max (max u3 u2) u1} R (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => AddMonoid.toZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) i) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3))) (MulAction.toSMul.{u4, max (max u1 u2) u3} R (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => AddMonoid.toZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) i) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3))) _inst_2 (DistribMulAction.toMulAction.{u4, max (max u1 u2) u3} R (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => AddMonoid.toZero.{max u2 u3} ((fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) i) (Finsupp.addMonoid.{u2, u3} (η i) N _inst_3))) _inst_2 (Dfinsupp.instAddMonoidDfinsuppToZero.{u1, max u2 u3} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.addMonoid.{u2, u3} (η i) N _inst_3)) (Dfinsupp.distribMulAction.{u1, max u2 u3, u4} ι R (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) _inst_2 (fun (i : ι) => Finsupp.addMonoid.{u2, u3} (η i) N _inst_3) (fun (i : ι) => Finsupp.distribMulAction.{u2, u3, u4} (η i) N R _inst_2 _inst_3 _inst_4)))) r (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Equiv.{max (succ u3) (succ (max u2 u1)), max (succ (max u3 u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)))) (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (_x : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) => Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Finsupp.{max u2 u1, u3} (Sigma.{u1, u2} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u3} N _inst_3)) (Dfinsupp.{u1, max u3 u2} ι (fun (i : ι) => Finsupp.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)) (fun (i : ι) => Finsupp.zero.{u2, u3} (η i) N (AddMonoid.toZero.{u3} N _inst_3)))) (sigmaFinsuppEquivDfinsupp.{u1, u2, u3} ι (fun (i : ι) => η i) N (AddMonoid.toZero.{u3} N _inst_3)) f)) Case conversion may be inaccurate. Consider using '#align sigma_finsupp_equiv_dfinsupp_smul sigmaFinsuppEquivDfinsupp_smulₓ'. -/ --tofix: r • (sigma_finsupp_equiv_dfinsupp f) doesn't work. @[simp] @@ -537,7 +537,7 @@ attribute [-instance] Finsupp.addMonoid lean 3 declaration is forall {ι : Type.{u1}} (R : Type.{u2}) {η : ι -> Type.{u3}} {N : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u4} N] [_inst_3 : Module.{u2, u4} R N _inst_1 _inst_2], LinearEquiv.{u2, u2, max (max u1 u3) u4, max u1 u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u1 u3, u4} (Sigma.{u1, u3} ι (fun (i : ι) => η i)) N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)))) (Dfinsupp.{u1, max u3 u4} ι (fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)))) (fun (i : ι) => AddZeroClass.toHasZero.{max u3 u4} (Finsupp.{u3, u4} (η i) N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)))) (AddMonoid.toAddZeroClass.{max u3 u4} (Finsupp.{u3, u4} (η i) N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u3, u4} (η i) N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)))) (Finsupp.addCommMonoid.{u3, u4} (η i) N _inst_2))))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.addCommMonoid.{u1, max u3 u4} ι (fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)))) (fun (i : ι) => Finsupp.addCommMonoid.{u3, u4} (η i) N _inst_2)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} ι (fun (i : ι) => η i)) N R _inst_1 _inst_2 _inst_3) (Dfinsupp.module.{u1, max u3 u4, u2} ι R (fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddZeroClass.toHasZero.{u4} N (AddMonoid.toAddZeroClass.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2)))) _inst_1 (fun (i : ι) => Finsupp.addCommMonoid.{u3, u4} (η i) N _inst_2) (fun (i : ι) => Finsupp.module.{u3, u4, u2} (η i) N R _inst_1 _inst_2 _inst_3)) but is expected to have type - forall {ι : Type.{u1}} (R : Type.{u2}) {η : ι -> Type.{u3}} {N : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u4} N] [_inst_3 : Module.{u2, u4} R N _inst_1 _inst_2], LinearEquiv.{u2, u2, max u4 u3 u1, max (max u4 u3) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) (Dfinsupp.{u1, max u4 u3} ι (fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) (fun (i : ι) => AddMonoid.toZero.{max u3 u4} ((fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) i) (AddCommMonoid.toAddMonoid.{max u3 u4} ((fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) i) (Finsupp.addCommMonoid.{u3, u4} (η i) N _inst_2)))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, max u3 u4} ι (fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) (fun (i : ι) => Finsupp.addCommMonoid.{u3, u4} (η i) N _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} ι (fun (i : ι) => η i)) N R _inst_1 _inst_2 _inst_3) (Dfinsupp.module.{u1, max u3 u4, u2} ι R (fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) _inst_1 (fun (i : ι) => Finsupp.addCommMonoid.{u3, u4} (η i) N _inst_2) (fun (i : ι) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (η i) N R _inst_1 _inst_2 _inst_3)) + forall {ι : Type.{u1}} (R : Type.{u2}) {η : ι -> Type.{u3}} {N : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u4} N] [_inst_3 : Module.{u2, u4} R N _inst_1 _inst_2], LinearEquiv.{u2, u2, max u4 u3 u1, max (max u4 u3) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} ι (fun (i : ι) => η i)) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) (Dfinsupp.{u1, max u4 u3} ι (fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) (fun (i : ι) => AddMonoid.toZero.{max u3 u4} ((fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) i) (AddCommMonoid.toAddMonoid.{max u3 u4} ((fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) i) (Finsupp.addCommMonoid.{u3, u4} (η i) N _inst_2)))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} ι (fun (i : ι) => η i)) N _inst_2) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, max u3 u4} ι (fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) (fun (i : ι) => Finsupp.addCommMonoid.{u3, u4} (η i) N _inst_2)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} ι (fun (i : ι) => η i)) N R _inst_1 _inst_2 _inst_3) (Dfinsupp.module.{u1, max u3 u4, u2} ι R (fun (i : ι) => Finsupp.{u3, u4} (η i) N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_2))) _inst_1 (fun (i : ι) => Finsupp.addCommMonoid.{u3, u4} (η i) N _inst_2) (fun (i : ι) => Finsupp.module.{u3, u4, u2} (η i) N R _inst_1 _inst_2 _inst_3)) Case conversion may be inaccurate. Consider using '#align sigma_finsupp_lequiv_dfinsupp sigmaFinsuppLequivDfinsuppₓ'. -/ /-- `finsupp.split` is a linear equivalence between `(Σ i, η i) →₀ N` and `Π₀ i, (η i →₀ N)`. -/ @[simps] diff --git a/Mathbin/Data/List/Basic.lean b/Mathbin/Data/List/Basic.lean index 9593da85e0..e5267b25c2 100644 --- a/Mathbin/Data/List/Basic.lean +++ b/Mathbin/Data/List/Basic.lean @@ -3607,7 +3607,7 @@ theorem nthLe_drop (L : List α) {i j : ℕ} (h : i + j < L.length) : lean 3 declaration is forall {α : Type.{u1}} (L : List.{u1} α) {i : Nat} {j : Nat} (h : LT.lt.{0} Nat Nat.hasLt j (List.length.{u1} α (List.drop.{u1} α i L))), Eq.{succ u1} α (List.nthLe.{u1} α (List.drop.{u1} α i L) j h) (List.nthLe.{u1} α L (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) i j) (Iff.mp (LT.lt.{0} Nat (Preorder.toLT.{0} Nat (PartialOrder.toPreorder.{0} Nat (SemilatticeInf.toPartialOrder.{0} Nat (Lattice.toSemilatticeInf.{0} Nat (LinearOrder.toLattice.{0} Nat Nat.linearOrder))))) j (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (List.length.{u1} α L) i)) (LT.lt.{0} Nat (Preorder.toLT.{0} Nat (PartialOrder.toPreorder.{0} Nat (SemilatticeInf.toPartialOrder.{0} Nat (Lattice.toSemilatticeInf.{0} Nat (LinearOrder.toLattice.{0} Nat Nat.linearOrder))))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat (AddSemigroup.toHasAdd.{0} Nat (AddCommSemigroup.toAddSemigroup.{0} Nat Nat.addCommSemigroup))) i j) (List.length.{u1} α L)) (lt_tsub_iff_left.{0} Nat j (List.length.{u1} α L) i Nat.linearOrder Nat.addCommSemigroup Nat.hasSub Nat.hasOrderedSub) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat (Preorder.toLT.{0} Nat (PartialOrder.toPreorder.{0} Nat (SemilatticeInf.toPartialOrder.{0} Nat (Lattice.toSemilatticeInf.{0} Nat (LinearOrder.toLattice.{0} Nat Nat.linearOrder))))) j _x) (List.length.{u1} α (List.drop.{u1} α i L)) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (List.length.{u1} α L) i) (List.length_drop.{u1} α i L) h))) but is expected to have type - forall {α : Type.{u1}} (L : List.{u1} α) {i : Nat} {j : Nat} (h : LT.lt.{0} Nat instLTNat j (List.length.{u1} α (List.drop.{u1} α i L))), Eq.{succ u1} α (List.nthLe.{u1} α (List.drop.{u1} α i L) j h) (List.nthLe.{u1} α L (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i j) (Iff.mp (LT.lt.{0} Nat (Preorder.toLT.{0} Nat (PartialOrder.toPreorder.{0} Nat (SemilatticeInf.toPartialOrder.{0} Nat (Lattice.toSemilatticeInf.{0} Nat (DistribLattice.toLattice.{0} Nat (instDistribLattice.{0} Nat Nat.linearOrder)))))) j (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (List.length.{u1} α L) i)) (LT.lt.{0} Nat (Preorder.toLT.{0} Nat (PartialOrder.toPreorder.{0} Nat (SemilatticeInf.toPartialOrder.{0} Nat (Lattice.toSemilatticeInf.{0} Nat (DistribLattice.toLattice.{0} Nat (instDistribLattice.{0} Nat Nat.linearOrder)))))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat (AddSemigroup.toAdd.{0} Nat (AddCommSemigroup.toAddSemigroup.{0} Nat Nat.addCommSemigroup))) i j) (List.length.{u1} α L)) (lt_tsub_iff_left.{0} Nat j (List.length.{u1} α L) i Nat.linearOrder Nat.addCommSemigroup instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat) (Eq.rec.{0, 1} Nat (List.length.{u1} α (List.drop.{u1} α i L)) (fun (x._@.Mathlib.Data.List.Basic._hyg.25580 : Nat) (h._@.Mathlib.Data.List.Basic._hyg.25581 : Eq.{1} Nat (List.length.{u1} α (List.drop.{u1} α i L)) x._@.Mathlib.Data.List.Basic._hyg.25580) => LT.lt.{0} Nat (Preorder.toLT.{0} Nat (PartialOrder.toPreorder.{0} Nat (SemilatticeInf.toPartialOrder.{0} Nat (Lattice.toSemilatticeInf.{0} Nat (DistribLattice.toLattice.{0} Nat (instDistribLattice.{0} Nat Nat.linearOrder)))))) j x._@.Mathlib.Data.List.Basic._hyg.25580) h (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (List.length.{u1} α L) i) (List.length_drop.{u1} α i L)))) + forall {α : Type.{u1}} (L : List.{u1} α) {i : Nat} {j : Nat} (h : LT.lt.{0} Nat instLTNat j (List.length.{u1} α (List.drop.{u1} α i L))), Eq.{succ u1} α (List.nthLe.{u1} α (List.drop.{u1} α i L) j h) (List.nthLe.{u1} α L (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i j) (Iff.mp (LT.lt.{0} Nat (Preorder.toLT.{0} Nat (PartialOrder.toPreorder.{0} Nat (SemilatticeInf.toPartialOrder.{0} Nat (Lattice.toSemilatticeInf.{0} Nat (DistribLattice.toLattice.{0} Nat (instDistribLattice.{0} Nat Nat.linearOrder)))))) j (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (List.length.{u1} α L) i)) (LT.lt.{0} Nat (Preorder.toLT.{0} Nat (PartialOrder.toPreorder.{0} Nat (SemilatticeInf.toPartialOrder.{0} Nat (Lattice.toSemilatticeInf.{0} Nat (DistribLattice.toLattice.{0} Nat (instDistribLattice.{0} Nat Nat.linearOrder)))))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat (AddSemigroup.toAdd.{0} Nat (AddCommSemigroup.toAddSemigroup.{0} Nat Nat.addCommSemigroup))) i j) (List.length.{u1} α L)) (lt_tsub_iff_left.{0} Nat j (List.length.{u1} α L) i Nat.linearOrder Nat.addCommSemigroup instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat) (Eq.rec.{0, 1} Nat (List.length.{u1} α (List.drop.{u1} α i L)) (fun (x._@.Mathlib.Data.List.Basic._hyg.25569 : Nat) (h._@.Mathlib.Data.List.Basic._hyg.25570 : Eq.{1} Nat (List.length.{u1} α (List.drop.{u1} α i L)) x._@.Mathlib.Data.List.Basic._hyg.25569) => LT.lt.{0} Nat (Preorder.toLT.{0} Nat (PartialOrder.toPreorder.{0} Nat (SemilatticeInf.toPartialOrder.{0} Nat (Lattice.toSemilatticeInf.{0} Nat (DistribLattice.toLattice.{0} Nat (instDistribLattice.{0} Nat Nat.linearOrder)))))) j x._@.Mathlib.Data.List.Basic._hyg.25569) h (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (List.length.{u1} α L) i) (List.length_drop.{u1} α i L)))) Case conversion may be inaccurate. Consider using '#align list.nth_le_drop' List.nthLe_drop'ₓ'. -/ /-- The `i + j`-th element of a list coincides with the `j`-th element of the list obtained by dropping the first `i` elements. Version designed to rewrite from the small list to the big list. -/ @@ -5144,7 +5144,7 @@ theorem filterMap_eq_map (f : α → β) : filterMap (some ∘ f) = map f := lean 3 declaration is forall {α : Type.{u1}} (p : α -> Prop) [_inst_1 : DecidablePred.{succ u1} α p], Eq.{succ u1} ((List.{u1} α) -> (List.{u1} α)) (List.filterMap.{u1, u1} α α (Option.guard.{u1} α p (fun (a : α) => _inst_1 a))) (List.filterₓ.{u1} α p (fun (a : α) => _inst_1 a)) but is expected to have type - forall {α : Type.{u1}} (p : α -> Bool), Eq.{succ u1} ((List.{u1} α) -> (List.{u1} α)) (List.filterMap.{u1, u1} α α (Option.guard.{u1} α (fun (x._@.Mathlib.Data.List.Basic._hyg.42156 : α) => Eq.{1} Bool (p x._@.Mathlib.Data.List.Basic._hyg.42156) Bool.true) (fun (a : α) => instDecidableEqBool (p a) Bool.true))) (List.filter.{u1} α p) + forall {α : Type.{u1}} (p : α -> Bool), Eq.{succ u1} ((List.{u1} α) -> (List.{u1} α)) (List.filterMap.{u1, u1} α α (Option.guard.{u1} α (fun (x._@.Mathlib.Data.List.Basic._hyg.42145 : α) => Eq.{1} Bool (p x._@.Mathlib.Data.List.Basic._hyg.42145) Bool.true) (fun (a : α) => instDecidableEqBool (p a) Bool.true))) (List.filter.{u1} α p) Case conversion may be inaccurate. Consider using '#align list.filter_map_eq_filter List.filterMap_eq_filterₓ'. -/ theorem filterMap_eq_filter (p : α → Prop) [DecidablePred p] : filterMap (Option.guard p) = filter p := by @@ -5651,7 +5651,7 @@ theorem filter_filter (q) [DecidablePred q] : lean 3 declaration is forall {α : Type.{u1}} {h : DecidablePred.{succ u1} α (fun (a : α) => True)} (l : List.{u1} α), Eq.{succ u1} (List.{u1} α) (List.filterₓ.{u1} α (fun (_x : α) => True) h l) l but is expected to have type - forall {α : Type.{u1}} (h : List.{u1} α), Eq.{succ u1} (List.{u1} α) (List.filter.{u1} α (fun (x._@.Mathlib.Data.List.Basic._hyg.46263 : α) => Bool.true) h) h + forall {α : Type.{u1}} (h : List.{u1} α), Eq.{succ u1} (List.{u1} α) (List.filter.{u1} α (fun (x._@.Mathlib.Data.List.Basic._hyg.46252 : α) => Bool.true) h) h Case conversion may be inaccurate. Consider using '#align list.filter_true List.filter_trueₓ'. -/ @[simp] theorem filter_true {h : DecidablePred fun a : α => True} (l : List α) : @@ -5662,7 +5662,7 @@ theorem filter_true {h : DecidablePred fun a : α => True} (l : List α) : lean 3 declaration is forall {α : Type.{u1}} {h : DecidablePred.{succ u1} α (fun (a : α) => False)} (l : List.{u1} α), Eq.{succ u1} (List.{u1} α) (List.filterₓ.{u1} α (fun (_x : α) => False) h l) (List.nil.{u1} α) but is expected to have type - forall {α : Type.{u1}} (h : List.{u1} α), Eq.{succ u1} (List.{u1} α) (List.filter.{u1} α (fun (x._@.Mathlib.Data.List.Basic._hyg.46313 : α) => Bool.false) h) (List.nil.{u1} α) + forall {α : Type.{u1}} (h : List.{u1} α), Eq.{succ u1} (List.{u1} α) (List.filter.{u1} α (fun (x._@.Mathlib.Data.List.Basic._hyg.46302 : α) => Bool.false) h) (List.nil.{u1} α) Case conversion may be inaccurate. Consider using '#align list.filter_false List.filter_falseₓ'. -/ @[simp] theorem filter_false {h : DecidablePred fun a : α => False} (l : List α) : diff --git a/Mathbin/Data/Polynomial/Module.lean b/Mathbin/Data/Polynomial/Module.lean index 2531ffe7f1..be81dfe649 100644 --- a/Mathbin/Data/Polynomial/Module.lean +++ b/Mathbin/Data/Polynomial/Module.lean @@ -68,7 +68,7 @@ noncomputable instance : Module S (PolynomialModule R M) := Finsupp.module ℕ M instance : CoeFun (PolynomialModule R M) fun _ => ℕ → M := - Finsupp.hasCoeToFun + Finsupp.coeFun /-- The monomial `m * x ^ i`. This is defeq to `finsupp.single_add_hom`, and is redefined here so that it has the desired type signature. -/ diff --git a/Mathbin/LinearAlgebra/Basic.lean b/Mathbin/LinearAlgebra/Basic.lean index a68e97a3a4..718dc5c508 100644 --- a/Mathbin/LinearAlgebra/Basic.lean +++ b/Mathbin/LinearAlgebra/Basic.lean @@ -96,9 +96,9 @@ theorem smul_sum {α : Type _} {β : Type _} {R : Type _} {M : Type _} [Zero β] /- warning: finsupp.sum_smul_index_linear_map' -> Finsupp.sum_smul_index_linearMap' is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u4} M₂] [_inst_5 : Module.{u2, u4} R M₂ _inst_1 _inst_4] {v : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)))} {c : R} {h : α -> (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5)}, Eq.{succ u4} M₂ (Finsupp.sum.{u1, u3, u4} α M M₂ (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) _inst_4 (SMul.smul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)))) (SMulZeroClass.toHasSmul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)))) (Finsupp.hasZero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)))) (Finsupp.smulZeroClass.{u1, u3, u2} α M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))) c v) (fun (a : α) => coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) (fun (_x : LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (h a))) (SMul.smul.{u2, u4} R M₂ (SMulZeroClass.toHasSmul.{u2, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_4))) (SMulWithZero.toSmulZeroClass.{u2, u4} R M₂ (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u4} R M₂ (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_4))) (Module.toMulActionWithZero.{u2, u4} R M₂ _inst_1 _inst_4 _inst_5)))) c (Finsupp.sum.{u1, u3, u4} α M M₂ (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) _inst_4 v (fun (a : α) => coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) (fun (_x : LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (h a)))) + forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u4} M₂] [_inst_5 : Module.{u2, u4} R M₂ _inst_1 _inst_4] {v : Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)))} {c : R} {h : α -> (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5)}, Eq.{succ u4} M₂ (Finsupp.sum.{u1, u3, u4} α M M₂ (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) _inst_4 (SMul.smul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)))) (SMulZeroClass.toHasSmul.{u2, max u1 u3} R (Finsupp.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)))) (Finsupp.zero.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)))) (Finsupp.smulZeroClass.{u1, u3, u2} α M R (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))) c v) (fun (a : α) => coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) (fun (_x : LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (h a))) (SMul.smul.{u2, u4} R M₂ (SMulZeroClass.toHasSmul.{u2, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_4))) (SMulWithZero.toSmulZeroClass.{u2, u4} R M₂ (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u4} R M₂ (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_4))) (Module.toMulActionWithZero.{u2, u4} R M₂ _inst_1 _inst_4 _inst_5)))) c (Finsupp.sum.{u1, u3, u4} α M M₂ (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) _inst_4 v (fun (a : α) => coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) (fun (_x : LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (h a)))) but is expected to have type - forall {α : Type.{u4}} {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u1} M₂] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_4] {v : Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))} {c : R} {h : α -> (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5)}, Eq.{succ u1} M₂ (Finsupp.sum.{u4, u2, u1} α M M₂ (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) _inst_4 (HSMul.hSMul.{u3, max u4 u2, max u4 u2} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (instHSMul.{u3, max u4 u2} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u3, max u4 u2} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.zero.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.instSMulZeroClassFinsuppZero.{u4, u2, u3} α M R (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (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_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3)))))) c v) (fun (a : α) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (h a))) (HSMul.hSMul.{u3, u1, u1} R M₂ M₂ (instHSMul.{u3, u1} R M₂ (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u1} R M₂ (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} R M₂ (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_4)) (Module.toMulActionWithZero.{u3, u1} R M₂ _inst_1 _inst_4 _inst_5))))) c (Finsupp.sum.{u4, u2, u1} α M M₂ (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) _inst_4 v (fun (a : α) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (h a)))) + forall {α : Type.{u4}} {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u1} M₂] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_4] {v : Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))} {c : R} {h : α -> (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5)}, Eq.{succ u1} M₂ (Finsupp.sum.{u4, u2, u1} α M M₂ (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) _inst_4 (HSMul.hSMul.{u3, max u4 u2, max u4 u2} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (instHSMul.{u3, max u4 u2} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u3, max u4 u2} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.zero.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.smulZeroClass.{u4, u2, u3} α M R (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (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_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3)))))) c v) (fun (a : α) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (h a))) (HSMul.hSMul.{u3, u1, u1} R M₂ M₂ (instHSMul.{u3, u1} R M₂ (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u1} R M₂ (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} R M₂ (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_4)) (Module.toMulActionWithZero.{u3, u1} R M₂ _inst_1 _inst_4 _inst_5))))) c (Finsupp.sum.{u4, u2, u1} α M M₂ (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) _inst_4 v (fun (a : α) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_4 _inst_3 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (h a)))) Case conversion may be inaccurate. Consider using '#align finsupp.sum_smul_index_linear_map' Finsupp.sum_smul_index_linearMap'ₓ'. -/ @[simp] theorem sum_smul_index_linearMap' {α : Type _} {R : Type _} {M : Type _} {M₂ : Type _} [Semiring R] @@ -119,7 +119,7 @@ variable (R M) [AddCommMonoid M] [Semiring R] [Module R M] lean 3 declaration is forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2], LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) but is expected to have type - forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2], LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) + forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2], LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.linear_equiv_fun_on_finite Finsupp.linearEquivFunOnFiniteₓ'. -/ /-- Given `finite α`, `linear_equiv_fun_on_finite R` is the natural `R`-linear equivalence between `α →₀ β` and `α → β`. -/ @@ -135,7 +135,7 @@ noncomputable def linearEquivFunOnFinite : (α →₀ M) ≃ₗ[R] α → M := lean 3 declaration is forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] [_inst_5 : DecidableEq.{succ u3} α] (x : α) (m : M), Eq.{max (succ u3) (succ u2)} (α -> M) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4)) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4)) => (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) -> α -> M) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (α -> M) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (Finsupp.linearEquivFunOnFinite.{u1, u2, u3} R M α _inst_1 _inst_2 _inst_3 _inst_4) (Finsupp.single.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) x m)) (Pi.single.{u3, u2} α (fun (ᾰ : α) => M) (fun (a : α) (b : α) => _inst_5 a b) (fun (i : α) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) x m) but is expected to have type - forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] [_inst_5 : DecidableEq.{succ u3} α] (x : α) (m : M), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => α -> M) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (fun (_x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => α -> M) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (α -> M) (AddMonoid.toZero.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (α -> M) (AddMonoid.toAddZeroClass.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (α -> M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)))))) (Finsupp.linearEquivFunOnFinite.{u1, u2, u3} R M α _inst_1 _inst_2 _inst_3 _inst_4) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m)) (Pi.single.{u3, u2} α (fun (ᾰ : α) => M) (fun (a : α) (b : α) => _inst_5 a b) (fun (i : α) => AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m) + forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] [_inst_5 : DecidableEq.{succ u3} α] (x : α) (m : M), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => α -> M) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (fun (_x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => α -> M) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (α -> M) (AddMonoid.toZero.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (α -> M) (AddMonoid.toAddZeroClass.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (α -> M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)))))) (Finsupp.linearEquivFunOnFinite.{u1, u2, u3} R M α _inst_1 _inst_2 _inst_3 _inst_4) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m)) (Pi.single.{u3, u2} α (fun (ᾰ : α) => M) (fun (a : α) (b : α) => _inst_5 a b) (fun (i : α) => AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m) Case conversion may be inaccurate. Consider using '#align finsupp.linear_equiv_fun_on_finite_single Finsupp.linearEquivFunOnFinite_singleₓ'. -/ @[simp] theorem linearEquivFunOnFinite_single [DecidableEq α] (x : α) (m : M) : @@ -147,7 +147,7 @@ theorem linearEquivFunOnFinite_single [DecidableEq α] (x : α) (m : M) : lean 3 declaration is forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] [_inst_5 : DecidableEq.{succ u3} α] (x : α) (m : M), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) => (α -> M) -> (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (α -> M) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (LinearEquiv.symm.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (α -> M) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.linearEquivFunOnFinite.{u1, u2, u3} R M α _inst_1 _inst_2 _inst_3 _inst_4)) (Pi.single.{u3, u2} α (fun (ᾰ : α) => M) (fun (a : α) (b : α) => _inst_5 a b) (fun (i : α) => AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) x m)) (Finsupp.single.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) x m) but is expected to have type - forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] [_inst_5 : DecidableEq.{succ u3} α] (x : α) (m : M), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.single.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (a : α) (b : α) => _inst_5 a b) (fun (i : α) => AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (α -> M) (AddMonoid.toZero.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (α -> M) (AddMonoid.toAddZeroClass.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (α -> M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.linearEquivFunOnFinite.{u1, u2, u3} R M α _inst_1 _inst_2 _inst_3 _inst_4)) (Pi.single.{u3, u2} α (fun (ᾰ : α) => M) (fun (a : α) (b : α) => _inst_5 a b) (fun (i : α) => AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m)) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m) + forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] [_inst_5 : DecidableEq.{succ u3} α] (x : α) (m : M), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.single.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (a : α) (b : α) => _inst_5 a b) (fun (i : α) => AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (α -> M) (AddMonoid.toZero.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (α -> M) (AddMonoid.toAddZeroClass.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (α -> M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.linearEquivFunOnFinite.{u1, u2, u3} R M α _inst_1 _inst_2 _inst_3 _inst_4)) (Pi.single.{u3, u2} α (fun (ᾰ : α) => M) (fun (a : α) (b : α) => _inst_5 a b) (fun (i : α) => AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m)) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) x m) Case conversion may be inaccurate. Consider using '#align finsupp.linear_equiv_fun_on_finite_symm_single Finsupp.linearEquivFunOnFinite_symm_singleₓ'. -/ @[simp] theorem linearEquivFunOnFinite_symm_single [DecidableEq α] (x : α) (m : M) : @@ -157,9 +157,9 @@ theorem linearEquivFunOnFinite_symm_single [DecidableEq α] (x : α) (m : M) : /- warning: finsupp.linear_equiv_fun_on_finite_symm_coe -> Finsupp.linearEquivFunOnFinite_symm_coe is a dubious translation: lean 3 declaration is - forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] (f : Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) => (α -> M) -> (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (α -> M) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (LinearEquiv.symm.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (α -> M) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.linearEquivFunOnFinite.{u1, u2, u3} R M α _inst_1 _inst_2 _inst_3 _inst_4)) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (fun (_x : Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) => α -> M) (Finsupp.hasCoeToFun.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) f)) f + forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] (f : Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) => (α -> M) -> (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (α -> M) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (LinearEquiv.symm.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (α -> M) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.Function.module.{u3, u1, u2} α R M _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.linearEquivFunOnFinite.{u1, u2, u3} R M α _inst_1 _inst_2 _inst_3 _inst_4)) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (fun (_x : Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) => α -> M) (Finsupp.coeFun.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) f)) f but is expected to have type - forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] (f : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) α (fun (a : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) f)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (α -> M) (AddMonoid.toZero.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (α -> M) (AddMonoid.toAddZeroClass.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (α -> M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.linearEquivFunOnFinite.{u1, u2, u3} R M α _inst_1 _inst_2 _inst_3 _inst_4)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) f)) f + forall (R : Type.{u1}) (M : Type.{u2}) (α : Type.{u3}) [_inst_1 : Finite.{succ u3} α] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] (f : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) α (fun (a : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) a) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) f)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (α -> M) (fun (_x : α -> M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (α -> M) (AddMonoid.toZero.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (α -> M) (AddMonoid.toAddZeroClass.{max u2 u3} (α -> M) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (α -> M) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, max u2 u3} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (α -> M) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (α -> M) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4))) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u2 u3, max u2 u3} R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u2 u3, max u2 u3} R R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (α -> M) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 _inst_3 (Pi.addCommMonoid.{u3, u2} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) (fun (i : α) => _inst_2)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, max u2 u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (α -> M) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Pi.addCommMonoid.{u3, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_2)) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (Pi.module.{u3, u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Basic._hyg.427 : α) => M) R _inst_3 (fun (i : α) => _inst_2) (fun (i : α) => _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.linearEquivFunOnFinite.{u1, u2, u3} R M α _inst_1 _inst_2 _inst_3 _inst_4)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) f)) f Case conversion may be inaccurate. Consider using '#align finsupp.linear_equiv_fun_on_finite_symm_coe Finsupp.linearEquivFunOnFinite_symm_coeₓ'. -/ @[simp] theorem linearEquivFunOnFinite_symm_coe (f : α →₀ M) : (linearEquivFunOnFinite R M α).symm f = f := @@ -170,7 +170,7 @@ theorem linearEquivFunOnFinite_symm_coe (f : α →₀ M) : (linearEquivFunOnFin lean 3 declaration is forall (R : Type.{u1}) (M : Type.{u2}) [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] (α : Type.{u3}) [_inst_5 : Unique.{succ u3} α], LinearEquiv.{u1, u1, max u3 u2, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 but is expected to have type - forall (R : Type.{u1}) (M : Type.{u2}) [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] (α : Type.{u3}) [_inst_5 : Unique.{succ u3} α], LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 + forall (R : Type.{u1}) (M : Type.{u2}) [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] (α : Type.{u3}) [_inst_5 : Unique.{succ u3} α], LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 Case conversion may be inaccurate. Consider using '#align finsupp.linear_equiv.finsupp_unique Finsupp.LinearEquiv.finsuppUniqueₓ'. -/ /-- If `α` has a unique term, then the type of finitely supported functions `α →₀ M` is `R`-linearly equivalent to `M`. -/ @@ -186,9 +186,9 @@ variable {R M α} /- warning: finsupp.linear_equiv.finsupp_unique_apply -> Finsupp.LinearEquiv.finsuppUnique_apply is a dubious translation: lean 3 declaration is - forall {R : Type.{u1}} {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] (α : Type.{u3}) [_inst_5 : Unique.{succ u3} α] (f : Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))), Eq.{succ u2} M (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u2, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) => (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, u2} R R (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (Finsupp.LinearEquiv.finsuppUnique.{u1, u2, u3} R M _inst_2 _inst_3 _inst_4 α _inst_5) f) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (fun (_x : Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) => α -> M) (Finsupp.hasCoeToFun.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) f (Inhabited.default.{succ u3} α (Unique.inhabited.{succ u3} α _inst_5))) + forall {R : Type.{u1}} {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] (α : Type.{u3}) [_inst_5 : Unique.{succ u3} α] (f : Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))), Eq.{succ u2} M (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u2, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) => (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) -> M) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, u2} R R (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (Finsupp.LinearEquiv.finsuppUnique.{u1, u2, u3} R M _inst_2 _inst_3 _inst_4 α _inst_5) f) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (fun (_x : Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) => α -> M) (Finsupp.coeFun.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) f (Inhabited.default.{succ u3} α (Unique.inhabited.{succ u3} α _inst_5))) but is expected to have type - forall {R : Type.{u1}} {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] (α : Type.{u3}) [_inst_5 : Unique.{succ u3} α] (f : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => M) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u2} (LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (fun (_x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => M) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, u2} (LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (SMulZeroClass.toSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4))))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_3 _inst_2 _inst_4)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, u2} (LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (Module.toDistribMulAction.{u1, u2} R M _inst_3 _inst_2 _inst_4) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, u2, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, u2, max u2 u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)))))) (Finsupp.LinearEquiv.finsuppUnique.{u1, u2, u3} R M _inst_2 _inst_3 _inst_4 α _inst_5) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) f (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_5))) + forall {R : Type.{u1}} {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] (α : Type.{u3}) [_inst_5 : Unique.{succ u3} α] (f : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => M) f) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u2} (LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (fun (_x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) => M) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, max u2 u3, u2} (LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (SMulZeroClass.toSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4))))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_3 _inst_2 _inst_4)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, max u2 u3, u2} (LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (Module.toDistribMulAction.{u1, u2} R M _inst_3 _inst_2 _inst_4) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, u2, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, u2, max u2 u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (LinearEquiv.{u1, u1, max u2 u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4) _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)))))) (Finsupp.LinearEquiv.finsuppUnique.{u1, u2, u3} R M _inst_2 _inst_3 _inst_4 α _inst_5) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) f (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_5))) Case conversion may be inaccurate. Consider using '#align finsupp.linear_equiv.finsupp_unique_apply Finsupp.LinearEquiv.finsuppUnique_applyₓ'. -/ @[simp] theorem LinearEquiv.finsuppUnique_apply (α : Type _) [Unique α] (f : α →₀ M) : @@ -200,7 +200,7 @@ theorem LinearEquiv.finsuppUnique_apply (α : Type _) [Unique α] (f : α →₀ lean 3 declaration is forall {R : Type.{u1}} {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] {α : Type.{u3}} [_inst_5 : Unique.{succ u3} α] (m : M), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearEquiv.{u1, u1, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (fun (_x : LinearEquiv.{u1, u1, u2, max u3 u2} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) => M -> (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) _inst_3 _inst_3 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)) (LinearEquiv.symm.{u1, u1, max u3 u2, u2} R R (Finsupp.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.LinearEquiv.finsuppUnique.{u1, u2, u3} R M _inst_2 _inst_3 _inst_4 α _inst_5)) m) (Finsupp.single.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Inhabited.default.{succ u3} α (Unique.inhabited.{succ u3} α _inst_5)) m) but is expected to have type - forall {R : Type.{u1}} {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] {α : Type.{u3}} [_inst_5 : Unique.{succ u3} α] (m : M), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) m) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, max u2 u3} (LinearEquiv.{u1, u1, u2, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_3 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, max u2 u3} (LinearEquiv.{u1, u1, u2, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, u2} R M _inst_3 _inst_2 _inst_4) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u3, max u2 u3} R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, u2, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u3, max u2 u3} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, u2, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 _inst_3 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u3} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 _inst_3 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.LinearEquiv.finsuppUnique.{u1, u2, u3} R M _inst_2 _inst_3 _inst_4 α _inst_5)) m) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_5)) m) + forall {R : Type.{u1}} {M : Type.{u2}} [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Semiring.{u1} R] [_inst_4 : Module.{u1, u2} R M _inst_3 _inst_2] {α : Type.{u3}} [_inst_5 : Unique.{succ u3} α] (m : M), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) m) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, max u2 u3} (LinearEquiv.{u1, u1, u2, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_3 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, max u2 u3} (LinearEquiv.{u1, u1, u2, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_3)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_2)) (Module.toDistribMulAction.{u1, u2} R M _inst_3 _inst_2 _inst_4) (Module.toDistribMulAction.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u3, max u2 u3} R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, u2, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u3, max u2 u3} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (LinearEquiv.{u1, u1, u2, max u2 u3} R R _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4)) _inst_3 _inst_3 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u3} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_3 _inst_3 _inst_2 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3)))))) (LinearEquiv.symm.{u1, u1, max u2 u3, u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_2) _inst_2 (Finsupp.module.{u3, u2, u1} α M R _inst_3 _inst_2 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomInvPair.ids.{u1} R _inst_3) (RingHomInvPair.ids.{u1} R _inst_3) (Finsupp.LinearEquiv.finsuppUnique.{u1, u2, u3} R M _inst_2 _inst_3 _inst_4 α _inst_5)) m) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_5)) m) Case conversion may be inaccurate. Consider using '#align finsupp.linear_equiv.finsupp_unique_symm_apply Finsupp.LinearEquiv.finsuppUnique_symm_applyₓ'. -/ @[simp] theorem LinearEquiv.finsuppUnique_symm_apply {α : Type _} [Unique α] (m : M) : diff --git a/Mathbin/LinearAlgebra/Basis.lean b/Mathbin/LinearAlgebra/Basis.lean index d66b84e948..ee7da668d9 100644 --- a/Mathbin/LinearAlgebra/Basis.lean +++ b/Mathbin/LinearAlgebra/Basis.lean @@ -126,7 +126,7 @@ section repr lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2], Function.Injective.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ (max u1 u2))} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) but is expected to have type - forall {ι : Type.{u3}} {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], Function.Injective.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) + forall {ι : Type.{u3}} {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], Function.Injective.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) Case conversion may be inaccurate. Consider using '#align basis.repr_injective Basis.repr_injectiveₓ'. -/ theorem repr_injective : Injective (repr : Basis ι R M → M ≃ₗ[R] ι →₀ R) := fun f g h => by cases f <;> cases g <;> congr @@ -155,7 +155,7 @@ instance funLike : FunLike (Basis ι R M) ι fun _ => M lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (e : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))), Eq.{max (succ u1) (succ u3)} (ι -> M) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) (Basis.of_repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 e)) (fun (i : ι) => coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (fun (_x : LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) => (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> M) (LinearEquiv.hasCoeToFun.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (LinearEquiv.symm.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) e) (Finsupp.single.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) i (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 {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (e : LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))), Eq.{max (succ u1) (succ u2)} (forall (a : ι), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) (Basis.of_repr.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 e)) (fun (i : ι) => FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (LinearEquiv.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (fun (_x : Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => M) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, max u1 u3, u2} (LinearEquiv.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, max u1 u3, u2} (LinearEquiv.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u3, max u1 u3, u2, max (max u1 u3) u2} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (LinearEquiv.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (LinearEquiv.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (LinearEquiv.symm.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) e) (Finsupp.single.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) i (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) + forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (e : LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))), Eq.{max (succ u1) (succ u2)} (forall (a : ι), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) (Basis.of_repr.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 e)) (fun (i : ι) => FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (LinearEquiv.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (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_3) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (fun (_x : Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => M) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, max u1 u3, u2} (LinearEquiv.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (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_3) R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, max u1 u3, u2} (LinearEquiv.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (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_3) R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u3, max u1 u3, u2, max (max u1 u3) u2} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (LinearEquiv.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (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_3) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (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_3 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (LinearEquiv.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (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_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (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_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (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_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (LinearEquiv.symm.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) e) (Finsupp.single.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) i (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) Case conversion may be inaccurate. Consider using '#align basis.coe_of_repr Basis.coe_of_reprₓ'. -/ @[simp] theorem coe_of_repr (e : M ≃ₗ[R] ι →₀ R) : ⇑(of_repr e) = fun i => e.symm (Finsupp.single i 1) := @@ -176,7 +176,7 @@ protected theorem injective [Nontrivial R] : Injective b := lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι), Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (fun (_x : LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) => (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> M) (LinearEquiv.hasCoeToFun.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (LinearEquiv.symm.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) (Finsupp.single.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) i (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))))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) but is expected to have type - forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) (Finsupp.single.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) i (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R _inst_1))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, max u2 u1, u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, max u2 u1, u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, u3, max (max u2 u1) u3} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, u3, max (max u2 u1) u3} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, u3} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b)) (Finsupp.single.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) i (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R _inst_1))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) + forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) (Finsupp.single.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) i (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R _inst_1))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, max u2 u1, u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, max u2 u1, u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, u3, max (max u2 u1) u3} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, u3, max (max u2 u1) u3} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, u3} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b)) (Finsupp.single.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) i (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R _inst_1))))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) Case conversion may be inaccurate. Consider using '#align basis.repr_symm_single_one Basis.repr_symm_single_oneₓ'. -/ theorem repr_symm_single_one : b.repr.symm (Finsupp.single i 1) = b i := rfl @@ -186,7 +186,7 @@ theorem repr_symm_single_one : b.repr.symm (Finsupp.single i 1) = b i := lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι) (c : R), Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (fun (_x : LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) => (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> M) (LinearEquiv.hasCoeToFun.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (LinearEquiv.symm.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) (Finsupp.single.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) i c)) (SMul.smul.{u2, u3} R M (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) c (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i)) but is expected to have type - forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι) (c : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) (Finsupp.single.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) i c)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, max u2 u1, u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, max u2 u1, u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, u3, max (max u2 u1) u3} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, u3, max (max u2 u1) u3} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, u3} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b)) (Finsupp.single.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) i c)) (HSMul.hSMul.{u1, u3, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (instHSMul.{u1, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (SMulZeroClass.toSMul.{u1, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (Module.toMulActionWithZero.{u1, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_1 _inst_2 _inst_3))))) c (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i)) + forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι) (c : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) (Finsupp.single.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) i c)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, max u2 u1, u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, max u2 u1, u3} (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, u3, max (max u2 u1) u3} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, u3, max (max u2 u1) u3} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (LinearEquiv.{u1, u1, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, u3} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b)) (Finsupp.single.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) i c)) (HSMul.hSMul.{u1, u3, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (instHSMul.{u1, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (SMulZeroClass.toSMul.{u1, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (Module.toMulActionWithZero.{u1, u3} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_1 _inst_2 _inst_3))))) c (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i)) Case conversion may be inaccurate. Consider using '#align basis.repr_symm_single Basis.repr_symm_singleₓ'. -/ theorem repr_symm_single : b.repr.symm (Finsupp.single i c) = c • b i := calc @@ -200,7 +200,7 @@ theorem repr_symm_single : b.repr.symm (Finsupp.single i c) = c • b i := lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i)) (Finsupp.single.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) i (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 {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (Finsupp.single.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) + forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (Finsupp.single.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) Case conversion may be inaccurate. Consider using '#align basis.repr_self Basis.repr_selfₓ'. -/ @[simp] theorem repr_self : b.repr (b i) = Finsupp.single i 1 := @@ -209,9 +209,9 @@ theorem repr_self : b.repr (b i) = Finsupp.single i 1 := /- warning: basis.repr_self_apply -> Basis.repr_self_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι) (j : ι) [_inst_6 : Decidable (Eq.{succ u1} ι i j)], Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i)) j) (ite.{succ u2} R (Eq.{succ u1} ι i j) _inst_6 (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))))))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι) (j : ι) [_inst_6 : Decidable (Eq.{succ u1} ι i j)], Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i)) j) (ite.{succ u2} R (Eq.{succ u1} ι i j) _inst_6 (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))))))) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))) but is expected to have type - forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (i : ι) (j : ι) [_inst_6 : Decidable (Eq.{succ u3} ι i j)], Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) j) (ite.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) (Eq.{succ u3} ι i j) _inst_6 (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) _inst_1))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) _inst_1))))) + forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (i : ι) (j : ι) [_inst_6 : Decidable (Eq.{succ u3} ι i j)], Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) j) (ite.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) (Eq.{succ u3} ι i j) _inst_6 (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) _inst_1))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) j) _inst_1))))) Case conversion may be inaccurate. Consider using '#align basis.repr_self_apply Basis.repr_self_applyₓ'. -/ theorem repr_self_apply (j) [Decidable (i = j)] : b.repr (b i) j = if i = j then 1 else 0 := by rw [repr_self, Finsupp.single_apply] @@ -221,7 +221,7 @@ theorem repr_self_apply (j) [Decidable (i = j)] : b.repr (b i) j = if i = j then lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (v : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (fun (_x : LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) => (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> M) (LinearEquiv.hasCoeToFun.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (LinearEquiv.symm.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) v) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) => (Finsupp.{u1, u2} ι 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 u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u3, u2} ι M R _inst_1 _inst_2 _inst_3 (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b)) v) but is expected to have type - forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (v : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) v) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) (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.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u2, u1, max (max u3 u2) u1} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u2, u1, max (max u3 u2) u1} R R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (LinearEquiv.symm.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b)) v) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) (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.6178 : 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b)) v) + forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (v : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) v) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) (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.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u2, u1, max (max u3 u2) u1} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (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_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u2, u1, max (max u3 u2) u1} R R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 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_2 (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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (LinearEquiv.symm.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b)) v) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), 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_2 (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_3) (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.6178 : 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_2 (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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b)) v) Case conversion may be inaccurate. Consider using '#align basis.repr_symm_apply Basis.repr_symm_applyₓ'. -/ @[simp] theorem repr_symm_apply (v) : b.repr.symm v = Finsupp.total ι M R b v := @@ -237,7 +237,7 @@ theorem repr_symm_apply (v) : b.repr.symm v = Finsupp.total ι M R b v := lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3), Eq.{max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) ((fun (a : Sort.{max (succ (max u1 u2)) (succ u3)}) (b : Sort.{max (succ (max u1 u2)) (succ u3)}) [self : HasLiftT.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} a b] => self.0) (LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (HasLiftT.mk.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (CoeTCₓ.coe.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (coeBase.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (LinearEquiv.LinearMap.hasCoe.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1))))) (LinearEquiv.symm.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b))) (Finsupp.total.{u1, u3, u2} ι M R _inst_1 _inst_2 _inst_3 (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b)) but is expected to have type - forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3), Eq.{max (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) (LinearEquiv.toLinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (LinearEquiv.symm.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b)) + forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3), Eq.{max (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_2 (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_3) (LinearEquiv.toLinearMap.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3 (LinearEquiv.symm.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b)) Case conversion may be inaccurate. Consider using '#align basis.coe_repr_symm Basis.coe_repr_symmₓ'. -/ @[simp] theorem coe_repr_symm : ↑b.repr.symm = Finsupp.total ι M R b := @@ -248,7 +248,7 @@ theorem coe_repr_symm : ↑b.repr.symm = Finsupp.total ι M R b := lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (v : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) => (Finsupp.{u1, u2} ι 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 u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u3, u2} ι M R _inst_1 _inst_2 _inst_3 (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b)) v)) v but is expected to have type - forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (v : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) a) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b)) v)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) (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.6178 : 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b)) v)) v + forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (v : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (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_2 (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_3) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) a) (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_2 (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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b)) v)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) (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_2 (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_3) (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.6178 : 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_2 (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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b)) v)) v Case conversion may be inaccurate. Consider using '#align basis.repr_total Basis.repr_totalₓ'. -/ @[simp] theorem repr_total (v) : b.repr (Finsupp.total _ _ _ b v) = v := @@ -261,7 +261,7 @@ theorem repr_total (v) : b.repr (Finsupp.total _ _ _ b v) = v := lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (x : M), Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) => (Finsupp.{u1, u2} ι 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 u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u3, u2} ι M R _inst_1 _inst_2 _inst_3 (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x)) x but is expected to have type - forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) a) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) x)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (LinearMap.{u1, u1, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u1, u3} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u3, u1} ι M R _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) x)) x + forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) a) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) x)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (LinearMap.{u1, u1, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3) (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u1, u3} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u3, u1} ι M R _inst_1 _inst_2 _inst_3 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) x)) x Case conversion may be inaccurate. Consider using '#align basis.total_repr Basis.total_reprₓ'. -/ @[simp] theorem total_repr : Finsupp.total _ _ _ b (b.repr x) = x := @@ -274,7 +274,7 @@ theorem total_repr : Finsupp.total _ _ _ b (b.repr x) = x := lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3), Eq.{succ (max u1 u2)} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.range.{u2, u2, u3, max u1 u2, max u3 u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.semilinearMapClass.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (RingHomSurjective.ids.{u2} R _inst_1) ((fun (a : Sort.{max (succ u3) (succ (max u1 u2))}) (b : Sort.{max (succ u3) (succ (max u1 u2))}) [self : HasLiftT.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} a b] => self.0) (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (HasLiftT.mk.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (CoeTCₓ.coe.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (coeBase.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1))))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b))) (Finsupp.supported.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1) (Set.univ.{u1} ι)) but is expected to have type - forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3), Eq.{max (succ u3) (succ u2)} (Submodule.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (LinearMap.range.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (LinearMap.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (RingHomSurjective.ids.{u2} R _inst_1) (LinearEquiv.toLinearMap.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b))) (Finsupp.supported.{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) (Set.univ.{u3} ι)) + forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3), Eq.{max (succ u3) (succ u2)} (Submodule.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (LinearMap.range.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (LinearMap.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (RingHomSurjective.ids.{u2} R _inst_1) (LinearEquiv.toLinearMap.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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)) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b))) (Finsupp.supported.{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) (Set.univ.{u3} ι)) Case conversion may be inaccurate. Consider using '#align basis.repr_range Basis.repr_rangeₓ'. -/ theorem repr_range : (b.repr : M →ₗ[R] ι →₀ R).range = Finsupp.supported R R univ := by rw [LinearEquiv.range, Finsupp.supported_univ] @@ -284,7 +284,7 @@ theorem repr_range : (b.repr : M →ₗ[R] ι →₀ R).range = Finsupp.supporte 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}} (b : Basis.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3) (m : M), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) m (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Set.image.{u3, u2} ι M (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3)) b) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Finset.{u3} ι) (Set.{u3} ι) (HasLiftT.mk.{succ u3, succ u3} (Finset.{u3} ι) (Set.{u3} ι) (CoeTCₓ.coe.{succ u3, succ u3} (Finset.{u3} ι) (Set.{u3} ι) (Finset.Set.hasCoeT.{u3} ι))) (Finsupp.support.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearEquiv.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) (fun (_x : LinearEquiv.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (Basis.repr.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3 b) m))))) 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}} (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (m : M), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) m (Submodule.span.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Set.image.{u3, u1} ι M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.toSet.{u3} ι (Finsupp.support.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, u1, max u2 u3} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, u1, max u2 u3} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u2 u3, max (max u2 u1) u3} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u2 u3, max (max u2 u1) u3} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u2 u3} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) m))))) + 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}} (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (m : M), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) m (Submodule.span.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Set.image.{u3, u1} ι M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.toSet.{u3} ι (Finsupp.support.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, u1, max u2 u3} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, u1, max u2 u3} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u2 u3, max (max u2 u1) u3} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u2 u3, max (max u2 u1) u3} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u2 u3} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) m))))) Case conversion may be inaccurate. Consider using '#align basis.mem_span_repr_support Basis.mem_span_repr_supportₓ'. -/ theorem mem_span_repr_support {ι : Type _} (b : Basis ι R M) (m : M) : m ∈ span R (b '' (b.repr m).support) := @@ -295,7 +295,7 @@ theorem mem_span_repr_support {ι : Type _} (b : Basis ι R M) (m : 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}} (b : Basis.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3) (s : Set.{u3} ι) {m : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) m (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Set.image.{u3, u2} ι M (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3)) b) s))) -> (HasSubset.Subset.{u3} (Set.{u3} ι) (Set.hasSubset.{u3} ι) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Finset.{u3} ι) (Set.{u3} ι) (HasLiftT.mk.{succ u3, succ u3} (Finset.{u3} ι) (Set.{u3} ι) (CoeTCₓ.coe.{succ u3, succ u3} (Finset.{u3} ι) (Set.{u3} ι) (Finset.Set.hasCoeT.{u3} ι))) (Finsupp.support.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearEquiv.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) (fun (_x : LinearEquiv.{u1, u1, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (Basis.repr.{u3, u1, u2} ι R M _inst_1 _inst_2 _inst_3 b) m))) 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}} (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (s : Set.{u3} ι) {m : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) m (Submodule.span.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Set.image.{u3, u1} ι M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b) s))) -> (HasSubset.Subset.{u3} (Set.{u3} ι) (Set.instHasSubsetSet.{u3} ι) (Finset.toSet.{u3} ι (Finsupp.support.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, u1, max u2 u3} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, u1, max u2 u3} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u2 u3, max (max u2 u1) u3} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u2 u3, max (max u2 u1) u3} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u2 u3} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) m))) 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}} (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (s : Set.{u3} ι) {m : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) m (Submodule.span.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Set.image.{u3, u1} ι M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b) s))) -> (HasSubset.Subset.{u3} (Set.{u3} ι) (Set.instHasSubsetSet.{u3} ι) (Finset.toSet.{u3} ι (Finsupp.support.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u1, max (succ u2) (succ u3)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, u1, max u2 u3} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, u1, max u2 u3} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u2 u3} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u2 u3, max (max u2 u1) u3} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u2 u3, max (max u2 u1) u3} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u2 u3} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) m))) s) Case conversion may be inaccurate. Consider using '#align basis.repr_support_subset_of_mem_span Basis.repr_support_subset_of_mem_spanₓ'. -/ theorem repr_support_subset_of_mem_span {ι : Type _} (b : Basis ι R M) (s : Set ι) {m : M} (hm : m ∈ span R (b '' s)) : ↑(b.repr m).support ⊆ s := @@ -343,7 +343,7 @@ noncomputable def sumCoords : M →ₗ[R] R := lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3), Eq.{max (succ u3) (succ u2)} ((fun (_x : LinearMap.{u2, u2, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1)) => M -> R) (Basis.sumCoords.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearMap.{u2, u2, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1)) (fun (_x : LinearMap.{u2, u2, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1)) => M -> R) (LinearMap.hasCoeToFun.{u2, u2, u3, u2} R R M R _inst_1 _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Basis.sumCoords.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) (fun (m : M) => Finsupp.sum.{u1, u2, u2} ι R R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) m) (fun (i : ι) => id.{succ u2} R)) but is expected to have type - forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (b : Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3), Eq.{max (succ u3) (succ u2)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => R) a) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearMap.{u3, u3, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_3 (Semiring.toModule.{u3} R _inst_1)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => R) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u3} R R M R _inst_1 _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_3 (Semiring.toModule.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Basis.sumCoords.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 b)) (fun (m : M) => Finsupp.sum.{u1, u3, u3} ι R R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 b) m) (fun (i : ι) => id.{succ u3} R)) + forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (b : Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3), Eq.{max (succ u3) (succ u2)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => R) a) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearMap.{u3, u3, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_3 (Semiring.toModule.{u3} R _inst_1)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => R) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u3} R R M R _inst_1 _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_3 (Semiring.toModule.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Basis.sumCoords.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 b)) (fun (m : M) => Finsupp.sum.{u1, u3, u3} ι R R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 b) m) (fun (i : ι) => id.{succ u3} R)) Case conversion may be inaccurate. Consider using '#align basis.coe_sum_coords Basis.coe_sumCoordsₓ'. -/ @[simp] theorem coe_sumCoords : (b.sumCoords : M → R) = fun m => (b.repr m).Sum fun i => id := @@ -403,9 +403,9 @@ theorem dvd_coord_smul (i : ι) (m : M) (r : R) : r ∣ b.Coord i (r • m) := /- warning: basis.coord_repr_symm -> Basis.coord_repr_symm is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι) (f : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), Eq.{succ u2} R (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearMap.{u2, u2, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1)) (fun (_x : LinearMap.{u2, u2, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1)) => M -> R) (LinearMap.hasCoeToFun.{u2, u2, u3, u2} R R M R _inst_1 _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Basis.coord.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b i) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (fun (_x : LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) => (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> M) (LinearEquiv.hasCoeToFun.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (LinearEquiv.symm.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) f i) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι) (f : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), Eq.{succ u2} R (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearMap.{u2, u2, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1)) (fun (_x : LinearMap.{u2, u2, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1)) => M -> R) (LinearMap.hasCoeToFun.{u2, u2, u3, u2} R R M R _inst_1 _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Basis.coord.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b i) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (fun (_x : LinearEquiv.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) => (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> M) (LinearEquiv.hasCoeToFun.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (LinearEquiv.symm.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) f i) but is expected to have type - forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (i : ι) (f : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => R) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) a) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u2, u1, max (max u3 u2) u1} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u2, u1, max (max u3 u2) u1} R R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (LinearEquiv.symm.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearMap.{u2, u2, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u2} R R M R _inst_1 _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Basis.coord.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) (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.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u2, u1, max (max u3 u2) u1} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u2, u1, max (max u3 u2) u1} R R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (LinearEquiv.symm.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b)) f)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) f i) + forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (i : ι) (f : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => R) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) a) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u2, u1, max (max u3 u2) u1} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (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_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u2, u1, max (max u3 u2) u1} R R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 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_2 (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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (LinearEquiv.symm.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearMap.{u2, u2, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u2} R R M R _inst_1 _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Basis.coord.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) (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.Hom.GroupAction._hyg.2186 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, max u3 u2, u1} (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u2, u1, max (max u3 u2) u1} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (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_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u2, u1, max (max u3 u2) u1} R R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (LinearEquiv.{u2, u2, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (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_2 (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_3) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 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_2 (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_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (LinearEquiv.symm.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b)) f)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) f i) Case conversion may be inaccurate. Consider using '#align basis.coord_repr_symm Basis.coord_repr_symmₓ'. -/ theorem coord_repr_symm (b : Basis ι R M) (i : ι) (f : ι →₀ R) : b.Coord i (b.repr.symm f) = f i := by simp only [repr_symm_apply, coord_apply, repr_total] @@ -455,9 +455,9 @@ omit σ' /- warning: basis.ext_elem_iff -> Basis.ext_elem_iff is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) {x : M} {y : M}, Iff (Eq.{succ u3} M x y) (forall (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) y) i)) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) {x : M} {y : M}, Iff (Eq.{succ u3} M x y) (forall (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) y) i)) but is expected to have type - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) {x : M} {y : M}, Iff (Eq.{succ u3} M x y) (forall (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u1 u2, max (max u1 u2) u3} R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u1 u2, max (max u1 u2) u3} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u1 u2, max (max u1 u2) u3} R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u1 u2, max (max u1 u2) u3} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) y) i)) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) {x : M} {y : M}, Iff (Eq.{succ u3} M x y) (forall (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u1 u2, max (max u1 u2) u3} R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u1 u2, max (max u1 u2) u3} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u1 u2, max (max u1 u2) u3} R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u1 u2, max (max u1 u2) u3} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) y) i)) Case conversion may be inaccurate. Consider using '#align basis.ext_elem_iff Basis.ext_elem_iffₓ'. -/ /-- Two elements are equal iff their coordinates are equal. -/ theorem ext_elem_iff {x y : M} : x = y ↔ ∀ i, b.repr x i = b.repr y i := by @@ -466,9 +466,9 @@ theorem ext_elem_iff {x y : M} : x = y ↔ ∀ i, b.repr x i = b.repr y i := by /- warning: basis.ext_elem -> Basis.ext_elem is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) {x : M} {y : M}, (forall (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) y) i)) -> (Eq.{succ u3} M x y) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) {x : M} {y : M}, (forall (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) y) i)) -> (Eq.{succ u3} M x y) but is expected to have type - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) {x : M} {y : M}, (forall (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u1 u2, max (max u1 u2) u3} R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u1 u2, max (max u1 u2) u3} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u1 u2, max (max u1 u2) u3} R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u1 u2, max (max u1 u2) u3} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) y) i)) -> (Eq.{succ u3} M x y) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) {x : M} {y : M}, (forall (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u1 u2, max (max u1 u2) u3} R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u1 u2, max (max u1 u2) u3} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u2, u3, max u1 u2} (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u1 u2, max (max u1 u2) u3} R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u1 u2, max (max u1 u2) u3} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u3, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) y) i)) -> (Eq.{succ u3} M x y) Case conversion may be inaccurate. Consider using '#align basis.ext_elem Basis.ext_elemₓ'. -/ alias ext_elem_iff ↔ _ _root_.basis.ext_elem #align basis.ext_elem Basis.ext_elem @@ -477,7 +477,7 @@ alias ext_elem_iff ↔ _ _root_.basis.ext_elem lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] {b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3} {f : LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))}, Iff (Eq.{max (succ u3) (succ (max u1 u2))} (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) ((fun (a : Sort.{max (succ u3) (succ (max u1 u2))}) (b : Sort.{max (succ u3) (succ (max u1 u2))}) [self : HasLiftT.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} a b] => self.0) (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (HasLiftT.mk.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (CoeTCₓ.coe.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (coeBase.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1))))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) f) (forall (i : ι), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearMap.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i)) (Finsupp.single.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) i (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 {ι : Type.{u3}} {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] {b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3} {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 (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))}, Iff (Eq.{max (max (succ u3) (succ u2)) (succ u1)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (LinearEquiv.toLinearMap.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b)) f) (forall (i : ι), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (Finsupp.single.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))))) + forall {ι : Type.{u3}} {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] {b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3} {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 (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))}, Iff (Eq.{max (max (succ u3) (succ u2)) (succ u1)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) (LinearEquiv.toLinearMap.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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)) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b)) f) (forall (i : ι), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearMap.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (Finsupp.single.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))))) Case conversion may be inaccurate. Consider using '#align basis.repr_eq_iff Basis.repr_eq_iffₓ'. -/ theorem repr_eq_iff {b : Basis ι R M} {f : M →ₗ[R] ι →₀ R} : ↑b.repr = f ↔ ∀ i, f (b i) = Finsupp.single i 1 := @@ -488,7 +488,7 @@ theorem repr_eq_iff {b : Basis ι R M} {f : M →ₗ[R] ι →₀ R} : lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] {b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3} {f : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))}, Iff (Eq.{max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) f) (forall (i : ι), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) f (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i)) (Finsupp.single.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) i (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 {ι : Type.{u3}} {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] {b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3} {f : LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))}, Iff (Eq.{max (max (succ u3) (succ u2)) (succ u1)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) f) (forall (i : ι), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) f (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (Finsupp.single.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))))) + forall {ι : Type.{u3}} {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] {b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3} {f : LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))}, Iff (Eq.{max (max (succ u3) (succ u2)) (succ u1)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) f) (forall (i : ι), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) f (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (Finsupp.single.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))))) Case conversion may be inaccurate. Consider using '#align basis.repr_eq_iff' Basis.repr_eq_iff'ₓ'. -/ theorem repr_eq_iff' {b : Basis ι R M} {f : M ≃ₗ[R] ι →₀ R} : b.repr = f ↔ ∀ i, f (b i) = Finsupp.single i 1 := @@ -499,7 +499,7 @@ theorem repr_eq_iff' {b : Basis ι R M} {f : M ≃ₗ[R] ι →₀ R} : lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] {b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3} {x : M} {i : ι}, Iff (Eq.{succ u3} M (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) x) (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) (Finsupp.single.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) i (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 {ι : Type.{u3}} {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] {b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3} {x : M} {i : ι}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i) x) (Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) x) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) x) (Finsupp.single.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))))) + forall {ι : Type.{u3}} {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] {b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3} {x : M} {i : ι}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i) x) (Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) x) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) x) (Finsupp.single.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))))) Case conversion may be inaccurate. Consider using '#align basis.apply_eq_iff Basis.apply_eq_iffₓ'. -/ theorem apply_eq_iff {b : Basis ι R M} {x : M} {i : ι} : b i = x ↔ b.repr x = Finsupp.single i 1 := ⟨fun h => h ▸ b.repr_self i, fun h => b.repr.Injective ((b.repr_self i).trans h.symm)⟩ @@ -507,9 +507,9 @@ theorem apply_eq_iff {b : Basis ι R M} {x : M} {i : ι} : b i = x ↔ b.repr x /- warning: basis.repr_apply_eq -> Basis.repr_apply_eq is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (f : M -> ι -> R), (forall (x : M) (y : M), Eq.{max (succ u1) (succ u2)} (ι -> R) (f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)))) x y)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (ι -> R) (ι -> R) (ι -> R) (instHAdd.{max u1 u2} (ι -> R) (Pi.instAdd.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Distrib.toHasAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (f x) (f y))) -> (forall (c : R) (x : M), Eq.{max (succ u1) (succ u2)} (ι -> R) (f (SMul.smul.{u2, u3} R M (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) c x)) (SMul.smul.{u2, max u1 u2} R (ι -> R) (Function.hasSMul.{u1, u2, u2} ι R R (Mul.toSMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) c (f x))) -> (forall (i : ι), Eq.{max (succ u1) (succ u2)} (ι -> R) (f (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.single.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) i (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)))))))))) -> (forall (x : M) (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (f x i)) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (f : M -> ι -> R), (forall (x : M) (y : M), Eq.{max (succ u1) (succ u2)} (ι -> R) (f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)))) x y)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (ι -> R) (ι -> R) (ι -> R) (instHAdd.{max u1 u2} (ι -> R) (Pi.instAdd.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Distrib.toHasAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (f x) (f y))) -> (forall (c : R) (x : M), Eq.{max (succ u1) (succ u2)} (ι -> R) (f (SMul.smul.{u2, u3} R M (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) c x)) (SMul.smul.{u2, max u1 u2} R (ι -> R) (Function.hasSMul.{u1, u2, u2} ι R R (Mul.toSMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) c (f x))) -> (forall (i : ι), Eq.{max (succ u1) (succ u2)} (ι -> R) (f (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.single.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) i (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)))))))))) -> (forall (x : M) (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (f x i)) but is expected to have type - forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (f : M -> ι -> R), (forall (x : M) (y : M), Eq.{max (succ u3) (succ u2)} (ι -> R) (f (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)))) x y)) (HAdd.hAdd.{max u3 u2, max u3 u2, max u3 u2} (ι -> R) (ι -> R) (ι -> R) (instHAdd.{max u3 u2} (ι -> R) (Pi.instAdd.{u3, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (f x) (f y))) -> (forall (c : R) (x : M), Eq.{max (succ u3) (succ u2)} (ι -> R) (f (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_2)) (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_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) c x)) (HSMul.hSMul.{u2, max u3 u2, max u3 u2} R (ι -> R) (ι -> R) (instHSMul.{u2, max u3 u2} R (ι -> R) (Pi.instSMul.{u3, u2, u2} ι R (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.3609 : ι) => R) (fun (i : ι) => SMulZeroClass.toSMul.{u2, u2} R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (SMulWithZero.toSMulZeroClass.{u2, u2} R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (MulZeroClass.toSMulWithZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))) c (f x))) -> (forall (i : ι), Eq.{max (succ u3) (succ u2)} (ι -> R) (f (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.single.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))))) -> (forall (x : M) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (f x i)) + forall {ι : Type.{u3}} {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] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (f : M -> ι -> R), (forall (x : M) (y : M), Eq.{max (succ u3) (succ u2)} (ι -> R) (f (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)))) x y)) (HAdd.hAdd.{max u3 u2, max u3 u2, max u3 u2} (ι -> R) (ι -> R) (ι -> R) (instHAdd.{max u3 u2} (ι -> R) (Pi.instAdd.{u3, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (f x) (f y))) -> (forall (c : R) (x : M), Eq.{max (succ u3) (succ u2)} (ι -> R) (f (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_2)) (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_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) c x)) (HSMul.hSMul.{u2, max u3 u2, max u3 u2} R (ι -> R) (ι -> R) (instHSMul.{u2, max u3 u2} R (ι -> R) (Pi.instSMul.{u3, u2, u2} ι R (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.3609 : ι) => R) (fun (i : ι) => SMulZeroClass.toSMul.{u2, u2} R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (SMulWithZero.toSMulZeroClass.{u2, u2} R R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (MulZeroClass.toSMulWithZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))) c (f x))) -> (forall (i : ι), Eq.{max (succ u3) (succ u2)} (ι -> R) (f (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.single.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) i (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))))) -> (forall (x : M) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) x) i) (f x i)) Case conversion may be inaccurate. Consider using '#align basis.repr_apply_eq Basis.repr_apply_eqₓ'. -/ /-- An unbundled version of `repr_eq_iff` -/ theorem repr_apply_eq (f : M → ι → R) (hadd : ∀ x y, f (x + y) = f x + f y) @@ -535,9 +535,9 @@ theorem repr_apply_eq (f : M → ι → R) (hadd : ∀ x y, f (x + y) = f x + f /- warning: basis.eq_of_repr_eq_repr -> Basis.eq_of_repr_eq_repr is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] {b₁ : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3} {b₂ : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3}, (forall (x : M) (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b₁) x) i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b₂) x) i)) -> (Eq.{max (succ u1) (succ u2) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) b₁ b₂) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] {b₁ : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3} {b₂ : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3}, (forall (x : M) (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b₁) x) i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b₂) x) i)) -> (Eq.{max (succ u1) (succ u2) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) b₁ b₂) but is expected to have type - forall {ι : Type.{u3}} {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] {b₁ : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3} {b₂ : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3}, (forall (x : M) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b₁) x) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b₂) x) i)) -> (Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b₁ b₂) + forall {ι : Type.{u3}} {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] {b₁ : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3} {b₂ : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3}, (forall (x : M) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b₁) x) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b₂) x) i)) -> (Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b₁ b₂) Case conversion may be inaccurate. Consider using '#align basis.eq_of_repr_eq_repr Basis.eq_of_repr_eq_reprₓ'. -/ /-- Two bases are equal if they assign the same coordinates. -/ theorem eq_of_repr_eq_repr {b₁ b₂ : Basis ι R M} (h : ∀ x i, b₁.repr x i = b₂.repr x i) : b₁ = b₂ := @@ -679,9 +679,9 @@ theorem coe_reindex : (b.reindex e : ι' → M) = b ∘ e.symm := /- warning: basis.repr_reindex_apply -> Basis.repr_reindex_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {ι' : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} M] [_inst_3 : Module.{u3, u4} R M _inst_1 _inst_2] (b : Basis.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3) (x : M) (e : Equiv.{succ u1, succ u2} ι ι') (i' : ι'), Eq.{succ u3} R (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => ι' -> R) (Finsupp.hasCoeToFun.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ u4) (succ (max u2 u3)), max (succ u4) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) (fun (_x : LinearEquiv.{u3, u3, u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) => M -> (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, u4, max u2 u3} R R M (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{u2, u3, u4} ι' R M _inst_1 _inst_2 _inst_3 (Basis.reindex.{u1, u2, u3, u4} ι ι' R M _inst_1 _inst_2 _inst_3 b e)) x) i') (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ u4) (succ (max u1 u3)), max (succ u4) (succ (max u1 u3))} (LinearEquiv.{u3, u3, u4, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (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))) (fun (_x : LinearEquiv.{u3, u3, u4, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, u4, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3 b) x) (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} ι' ι) (fun (_x : Equiv.{succ u2, succ u1} ι' ι) => ι' -> ι) (Equiv.hasCoeToFun.{succ u2, succ u1} ι' ι) (Equiv.symm.{succ u1, succ u2} ι ι' e) i')) + forall {ι : Type.{u1}} {ι' : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} M] [_inst_3 : Module.{u3, u4} R M _inst_1 _inst_2] (b : Basis.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3) (x : M) (e : Equiv.{succ u1, succ u2} ι ι') (i' : ι'), Eq.{succ u3} R (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => ι' -> R) (Finsupp.coeFun.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ u4) (succ (max u2 u3)), max (succ u4) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) (fun (_x : LinearEquiv.{u3, u3, u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) => M -> (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, u4, max u2 u3} R R M (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{u2, u3, u4} ι' R M _inst_1 _inst_2 _inst_3 (Basis.reindex.{u1, u2, u3, u4} ι ι' R M _inst_1 _inst_2 _inst_3 b e)) x) i') (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ u4) (succ (max u1 u3)), max (succ u4) (succ (max u1 u3))} (LinearEquiv.{u3, u3, u4, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (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))) (fun (_x : LinearEquiv.{u3, u3, u4, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, u4, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3 b) x) (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} ι' ι) (fun (_x : Equiv.{succ u2, succ u1} ι' ι) => ι' -> ι) (Equiv.hasCoeToFun.{succ u2, succ u1} ι' ι) (Equiv.symm.{succ u1, succ u2} ι ι' e) i')) but is expected to have type - forall {ι : Type.{u1}} {ι' : Type.{u3}} {R : Type.{u4}} {M : Type.{u2}} [_inst_1 : Semiring.{u4} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u4, u2} R M _inst_1 _inst_2] (b : Basis.{u1, u4, u2} ι R M _inst_1 _inst_2 _inst_3) (x : M) (e : Equiv.{succ u1, succ u3} ι ι') (i' : ι'), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι') => R) i') (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι') => R) _x) (Finsupp.funLike.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), succ u2, max (succ u3) (succ u4)} (LinearEquiv.{u4, u4, u2, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u4, u2, max u3 u4} (LinearEquiv.{u4, u4, u2, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) R M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u4, u2} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u4, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u4, max u3 u4} R (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddMonoid.toZero.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u4} R (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u4, max u3 u4} R (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, max u3 u4} R (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u4, u2, max u3 u4} (LinearEquiv.{u4, u4, u2, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) R M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u4, max u3 u4} R (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u4, u2, max u3 u4, max (max u3 u4) u2} R M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (LinearEquiv.{u4, u4, u2, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u4} ι' 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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u2, max u3 u4, max (max u3 u4) u2} R R M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (LinearEquiv.{u4, u4, u2, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u4} ι' 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u2, max u3 u4} R R M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1)))))) (Basis.repr.{u3, u4, u2} ι' R M _inst_1 _inst_2 _inst_3 (Basis.reindex.{u1, u3, u4, u2} ι ι' R M _inst_1 _inst_2 _inst_3 b e)) x) i') (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u2), succ u2, max (succ u1) (succ u4)} (LinearEquiv.{u4, u4, u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u4) u2, u4, u2, max u1 u4} (LinearEquiv.{u4, u4, u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) R M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u4, u2} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u4, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u4, max u1 u4} R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddMonoid.toZero.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u4} R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u4, max u1 u4} R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, max u1 u4} R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u4) u2, u4, u2, max u1 u4} (LinearEquiv.{u4, u4, u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) R M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u4, max u1 u4} R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u4, u2, max u1 u4, max (max u1 u4) u2} R M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (LinearEquiv.{u4, u4, u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι 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_1 _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u2, max u1 u4, max (max u1 u4) u2} R R M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (LinearEquiv.{u4, u4, u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u2, max u1 u4} R R M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1)))))) (Basis.repr.{u1, u4, u2} ι R M _inst_1 _inst_2 _inst_3 b) x) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (Equiv.{succ u3, succ u1} ι' ι) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : ι') => ι) _x) (Equiv.instFunLikeEquiv.{succ u3, succ u1} ι' ι) (Equiv.symm.{succ u1, succ u3} ι ι' e) i')) + forall {ι : Type.{u1}} {ι' : Type.{u3}} {R : Type.{u4}} {M : Type.{u2}} [_inst_1 : Semiring.{u4} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u4, u2} R M _inst_1 _inst_2] (b : Basis.{u1, u4, u2} ι R M _inst_1 _inst_2 _inst_3) (x : M) (e : Equiv.{succ u1, succ u3} ι ι') (i' : ι'), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι') => R) i') (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι') => R) _x) (Finsupp.funLike.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), succ u2, max (succ u3) (succ u4)} (LinearEquiv.{u4, u4, u2, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u4, u2, max u3 u4} (LinearEquiv.{u4, u4, u2, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) R M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u4, u2} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u4, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u4, max u3 u4} R (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddMonoid.toZero.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u4} R (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u4, max u3 u4} R (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, max u3 u4} R (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (Finsupp.module.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u4, u2, max u3 u4} (LinearEquiv.{u4, u4, u2, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) R M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u4, max u3 u4} R (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (Finsupp.module.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u4, u2, max u3 u4, max (max u3 u4) u2} R M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (LinearEquiv.{u4, u4, u2, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} ι' 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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u2, max u3 u4, max (max u3 u4) u2} R R M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (LinearEquiv.{u4, u4, u2, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} ι' 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u2, max u3 u4} R R M (Finsupp.{u3, u4} ι' R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u4} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u4, u4} ι' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1)))))) (Basis.repr.{u3, u4, u2} ι' R M _inst_1 _inst_2 _inst_3 (Basis.reindex.{u1, u3, u4, u2} ι ι' R M _inst_1 _inst_2 _inst_3 b e)) x) i') (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u2), succ u2, max (succ u1) (succ u4)} (LinearEquiv.{u4, u4, u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u4) u2, u4, u2, max u1 u4} (LinearEquiv.{u4, u4, u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) R M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u4, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u4, u2} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u4, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u4, max u1 u4} R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddMonoid.toZero.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u4} R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u4, max u1 u4} R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, max u1 u4} R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (Finsupp.module.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u4) u2, u4, u2, max u1 u4} (LinearEquiv.{u4, u4, u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) R M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u4, max u1 u4} R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (Finsupp.module.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u4, u2, max u1 u4, max (max u1 u4) u2} R M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (LinearEquiv.{u4, u4, u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u4, u4} ι 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_1 _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u2, max u1 u4, max (max u1 u4) u2} R R M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (LinearEquiv.{u4, u4, u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u4, u4} ι 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u2, max u1 u4} R R M (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u4, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Semiring.toModule.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1)))))) (Basis.repr.{u1, u4, u2} ι R M _inst_1 _inst_2 _inst_3 b) x) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (Equiv.{succ u3, succ u1} ι' ι) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : ι') => ι) _x) (Equiv.instFunLikeEquiv.{succ u3, succ u1} ι' ι) (Equiv.symm.{succ u1, succ u3} ι ι' e) i')) Case conversion may be inaccurate. Consider using '#align basis.repr_reindex_apply Basis.repr_reindex_applyₓ'. -/ theorem repr_reindex_apply (i' : ι') : (b.reindex e).repr x i' = b.repr x (e.symm i') := show (Finsupp.domLCongr e : _ ≃ₗ[R] _) (b.repr x) i' = _ by simp @@ -691,7 +691,7 @@ theorem repr_reindex_apply (i' : ι') : (b.reindex e).repr x i' = b.repr x (e.sy lean 3 declaration is forall {ι : Type.{u1}} {ι' : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} M] [_inst_3 : Module.{u3, u4} R M _inst_1 _inst_2] (b : Basis.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3) (x : M) (e : Equiv.{succ u1, succ u2} ι ι'), Eq.{max (succ u2) (succ u3)} (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ u4) (succ (max u2 u3)), max (succ u4) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) (fun (_x : LinearEquiv.{u3, u3, u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) => M -> (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, u4, max u2 u3} R R M (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{u2, u3, u4} ι' R M _inst_1 _inst_2 _inst_3 (Basis.reindex.{u1, u2, u3, u4} ι ι' R M _inst_1 _inst_2 _inst_3 b e)) x) (Finsupp.mapDomain.{u1, u2, u3} ι ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} ι ι') (fun (_x : Equiv.{succ u1, succ u2} ι ι') => ι -> ι') (Equiv.hasCoeToFun.{succ u1, succ u2} ι ι') e) (coeFn.{max (succ u4) (succ (max u1 u3)), max (succ u4) (succ (max u1 u3))} (LinearEquiv.{u3, u3, u4, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (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))) (fun (_x : LinearEquiv.{u3, u3, u4, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, u4, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3 b) x)) but is expected to have type - forall {ι : Type.{u1}} {ι' : Type.{u4}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (b : Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) (x : M) (e : Equiv.{succ u1, succ u4} ι ι'), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) x) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), succ u2, max (succ u4) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u2, u3, u2, max u4 u3} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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))) R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u4 u3} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u4 u3} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u4 u3} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u4 u3} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u2, u3, u2, max u4 u3} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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))) R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u4 u3} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u4 u3, max (max u4 u3) u2} R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u4 u3, max (max u4 u3) u2} R R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u4 u3} R R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u4, u3, u2} ι' R M _inst_1 _inst_2 _inst_3 (Basis.reindex.{u1, u4, u3, u2} ι ι' R M _inst_1 _inst_2 _inst_3 b e)) x) (Finsupp.mapDomain.{u1, u4, u3} ι ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Equiv.{succ u1, succ u4} ι ι') ι (fun (_x : ι) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : ι) => ι') _x) (Equiv.instFunLikeEquiv.{succ u1, succ u4} ι ι') e) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 b) x)) + forall {ι : Type.{u1}} {ι' : Type.{u4}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (b : Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) (x : M) (e : Equiv.{succ u1, succ u4} ι ι'), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) x) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), succ u2, max (succ u4) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u2, u3, u2, max u4 u3} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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))) R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u4 u3} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u4 u3} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u4 u3} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u4 u3} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u4, 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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u2, u3, u2, max u4 u3} (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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))) R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u4 u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u4 u3} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u4, 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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u4 u3, max (max u4 u3) u2} R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u4 u3, max (max u4 u3) u2} R R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u4 u3} R R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u4, u3, u2} ι' R M _inst_1 _inst_2 _inst_3 (Basis.reindex.{u1, u4, u3, u2} ι ι' R M _inst_1 _inst_2 _inst_3 b e)) x) (Finsupp.mapDomain.{u1, u4, u3} ι ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (Equiv.{succ u1, succ u4} ι ι') ι (fun (_x : ι) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : ι) => ι') _x) (Equiv.instFunLikeEquiv.{succ u1, succ u4} ι ι') e) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 b) x)) Case conversion may be inaccurate. Consider using '#align basis.repr_reindex Basis.repr_reindexₓ'. -/ @[simp] theorem repr_reindex : (b.reindex e).repr x = (b.repr x).mapDomain e := @@ -768,7 +768,7 @@ theorem reindexRange_self (i : ι) (h := Set.mem_range_self i) : b.reindexRange lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2))} (LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u3 u2} R R M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u3, u2, u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexRange.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i)) (Finsupp.single.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Set.{u3} M) (Set.hasMem.{u3} M) x (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) (Set.mem_range_self.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) i)) (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 {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (b : Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, max u3 u2} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u3 u2} R (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u2} R (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u3 u2} R (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u3 u2} R (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, max u3 u2} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u3 u2} R (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u3 u2, max u3 u2} R M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u3 u2} R R M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u2, u3, u2} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexRange.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 b)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i)) (Finsupp.single.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (Subtype.mk.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i) (Set.mem_range_self.{succ u1, u2} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) + forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (b : Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, max u3 u2} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u3 u2} R (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u2} R (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u3 u2} R (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u3 u2} R (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, max u3 u2} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u3 u2} R (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u3 u2, max u3 u2} R M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u3 u2} R R M (Finsupp.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u2, u3, u2} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexRange.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 b)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i)) (Finsupp.single.{u2, u3} (Set.Elem.{u2} M (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (Subtype.mk.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (Set.range.{u2, succ u1} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i) (Set.mem_range_self.{succ u1, u2} M ι (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) Case conversion may be inaccurate. Consider using '#align basis.reindex_range_repr_self Basis.reindexRange_repr_selfₓ'. -/ theorem reindexRange_repr_self (i : ι) : b.reindexRange.repr (b i) = Finsupp.single ⟨b i, mem_range_self i⟩ 1 := @@ -794,9 +794,9 @@ theorem reindexRange_apply (x : range b) : b.reindexRange x = x := /- warning: basis.reindex_range_repr' -> Basis.reindexRange_repr' is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (x : M) {bi : M} {i : ι} (h : Eq.{succ u3} M (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) bi), Eq.{succ u2} R (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) -> R) (Finsupp.hasCoeToFun.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2))} (LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u3 u2} R R M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u3, u2, u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexRange.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Set.{u3} M) (Set.hasMem.{u3} M) x (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) bi (Exists.intro.{succ u1} ι (fun (y : ι) => Eq.{succ u3} M (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b y) bi) i h))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (x : M) {bi : M} {i : ι} (h : Eq.{succ u3} M (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) bi), Eq.{succ u2} R (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) -> R) (Finsupp.coeFun.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2))} (LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u3 u2} R R M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u3, u2, u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexRange.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Set.{u3} M) (Set.hasMem.{u3} M) x (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) bi (Exists.intro.{succ u1} ι (fun (y : ι) => Eq.{succ u3} M (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b y) bi) i h))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) but is expected to have type - forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (x : M) {bi : M} {i : ι} (h : Eq.{succ u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) bi), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => R) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) bi (Exists.intro.{succ u2} ι (fun (y : ι) => Eq.{succ u3} M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b y) bi) i h))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) (fun (_x : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => R) _x) (Finsupp.funLike.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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 (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u1 u3, max u1 u3} R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u1 u3, max u1 u3} R R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u1 u3} R R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u3, u1, u3} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexRange.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b)) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) bi (Exists.intro.{succ u2} ι (fun (y : ι) => Eq.{succ u3} M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b y) bi) i h))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) + forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (x : M) {bi : M} {i : ι} (h : Eq.{succ u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) bi), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => R) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) bi (Exists.intro.{succ u2} ι (fun (y : ι) => Eq.{succ u3} M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b y) bi) i h))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) (fun (_x : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => R) _x) (Finsupp.funLike.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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 (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u1 u3, max u1 u3} R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u1 u3, max u1 u3} R R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u1 u3} R R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u3, u1, u3} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexRange.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b)) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) bi (Exists.intro.{succ u2} ι (fun (y : ι) => Eq.{succ u3} M (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b y) bi) i h))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) Case conversion may be inaccurate. Consider using '#align basis.reindex_range_repr' Basis.reindexRange_repr'ₓ'. -/ theorem reindexRange_repr' (x : M) {bi : M} {i : ι} (h : b i = bi) : b.reindexRange.repr x ⟨bi, ⟨i, h⟩⟩ = b.repr x i := @@ -819,9 +819,9 @@ theorem reindexRange_repr' (x : M) {bi : M} {i : ι} (h : b i = bi) : /- warning: basis.reindex_range_repr -> Basis.reindexRange_repr is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (x : M) (i : ι) (h : optParam.{0} (Membership.Mem.{u3, u3} M (Set.{u3} M) (Set.hasMem.{u3} M) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) (Set.range.{u3, succ u1} M ι (fun (i : ι) => coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i))) (Set.mem_range_self.{u3, succ u1} M ι (fun (i : ι) => coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) i)), Eq.{succ u2} R (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) -> R) (Finsupp.hasCoeToFun.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2))} (LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u3 u2} R R M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u3, u2, u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexRange.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Set.{u3} M) (Set.hasMem.{u3} M) x (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (x : M) (i : ι) (h : optParam.{0} (Membership.Mem.{u3, u3} M (Set.{u3} M) (Set.hasMem.{u3} M) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) (Set.range.{u3, succ u1} M ι (fun (i : ι) => coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i))) (Set.mem_range_self.{u3, succ u1} M ι (fun (i : ι) => coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) i)), Eq.{succ u2} R (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) -> R) (Finsupp.coeFun.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2))} (LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u3 u2} R R M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u3, u2, u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexRange.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Set.{u3} M) (Set.hasMem.{u3} M) x (Set.range.{u3, succ u1} M ι (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) but is expected to have type - forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (x : M) (i : ι) (h : optParam.{0} (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) (Set.mem_range_self.{succ u2, u3} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) i)), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => R) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) h)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) (fun (_x : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => R) _x) (Finsupp.funLike.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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 (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u1 u3, max u1 u3} R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u1 u3, max u1 u3} R R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u1 u3} R R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u3, u1, u3} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexRange.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b)) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) + forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (x : M) (i : ι) (h : optParam.{0} (Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) (Set.mem_range_self.{succ u2, u3} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) i)), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => R) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) h)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) (fun (_x : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) => R) _x) (Finsupp.funLike.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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 (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u1 u3, max u1 u3} R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u1 u3, max u1 u3} R R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u1 u3} R R M (Finsupp.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u3, u1, u3} (Set.Elem.{u3} M (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexRange.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b)) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Set.{u3} M) (Set.instMembershipSet.{u3} M) x (Set.range.{u3, succ u2} M ι (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) Case conversion may be inaccurate. Consider using '#align basis.reindex_range_repr Basis.reindexRange_reprₓ'. -/ @[simp] theorem reindexRange_repr (x : M) (i : ι) (h := Set.mem_range_self i) : @@ -872,7 +872,7 @@ theorem reindexFinsetRange_apply (x : Finset.univ.image b) : b.reindexFinsetRang lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u3} M] (i : ι), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2))} (LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u3 u2} R R M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u3, u2, u3} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexFinsetRange.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b _inst_6 (fun (a : M) (b : M) => _inst_7 a b))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i)) (Finsupp.single.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Finset.{u3} M) (Finset.hasMem.{u3} M) x (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) (Finset.mem_image_of_mem.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (Finset.univ.{u1} ι _inst_6) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) i (Finset.mem_univ.{u1} ι _inst_6 i))) (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 {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (b : Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u2} M] (i : ι), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, max u3 u2} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u3 u2} R (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u2} R (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u3 u2} R (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u3 u2} R (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, max u3 u2} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u3 u2} R (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u3 u2, max u3 u2} R M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u3 u2} R R M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u2, u3, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexFinsetRange.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 b _inst_6 (fun (a : M) (b : M) => _inst_7 a b))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i)) (Finsupp.single.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (Subtype.mk.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i) (Finset.mem_image_of_mem.{u2, u1} ι M (fun (a : M) (b : M) => _inst_7 a b) (Finset.univ.{u1} ι _inst_6) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) i (Finset.mem_univ.{u1} ι _inst_6 i))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) + forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] (b : Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u2} M] (i : ι), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, max u3 u2} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u3 u2} R (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u2} R (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u3 u2} R (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u3 u2} R (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, max u3 u2} (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u3 u2} R (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u3 u2, max u3 u2} R M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u3 u2} R R M (Finsupp.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u3, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u2, u3, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexFinsetRange.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 b _inst_6 (fun (a : M) (b : M) => _inst_7 a b))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i)) (Finsupp.single.{u2, u3} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6)))) R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (Subtype.mk.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Finset.image.{u1, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u1} ι _inst_6))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b i) (Finset.mem_image_of_mem.{u2, u1} ι M (fun (a : M) (b : M) => _inst_7 a b) (Finset.univ.{u1} ι _inst_6) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3) b) i (Finset.mem_univ.{u1} ι _inst_6 i))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) Case conversion may be inaccurate. Consider using '#align basis.reindex_finset_range_repr_self Basis.reindexFinsetRange_repr_selfₓ'. -/ theorem reindexFinsetRange_repr_self (i : ι) : b.reindexFinsetRange.repr (b i) = @@ -886,9 +886,9 @@ theorem reindexFinsetRange_repr_self (i : ι) : /- warning: basis.reindex_finset_range_repr -> Basis.reindexFinsetRange_repr is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u3} M] (x : M) (i : ι) (h : optParam.{0} (Membership.Mem.{u3, u3} M (Finset.{u3} M) (Finset.hasMem.{u3} M) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) (Finset.mem_image_of_mem.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (Finset.univ.{u1} ι _inst_6) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) i (Finset.mem_univ.{u1} ι _inst_6 i))), Eq.{succ u2} R (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) -> R) (Finsupp.hasCoeToFun.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2))} (LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u3 u2} R R M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u3, u2, u3} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexFinsetRange.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b _inst_6 (fun (a : M) (b : M) => _inst_7 a b))) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Finset.{u3} M) (Finset.hasMem.{u3} M) x (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u3} M] (x : M) (i : ι) (h : optParam.{0} (Membership.Mem.{u3, u3} M (Finset.{u3} M) (Finset.hasMem.{u3} M) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) (Finset.mem_image_of_mem.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (Finset.univ.{u1} ι _inst_6) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) i (Finset.mem_univ.{u1} ι _inst_6 i))), Eq.{succ u2} R (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) -> R) (Finsupp.coeFun.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2))} (LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u3 u2} R R M (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u3, u2, u3} (coeSort.{succ u3, succ (succ u3)} (Finset.{u3} M) Type.{u3} (Finset.hasCoeToSort.{u3} M) (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexFinsetRange.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b _inst_6 (fun (a : M) (b : M) => _inst_7 a b))) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Finset.{u3} M) (Finset.hasMem.{u3} M) x (Finset.image.{u1, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b) (Finset.univ.{u1} ι _inst_6))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i) h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) but is expected to have type - forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u3} M] (x : M) (i : ι) (h : optParam.{0} (Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6))) (Finset.mem_image_of_mem.{u3, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (Finset.univ.{u2} ι _inst_6) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) i (Finset.mem_univ.{u2} ι _inst_6 i))), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) => R) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) h)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) (fun (_x : Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) => R) _x) (Finsupp.funLike.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) 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 (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u3} R (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u1 u3, max u1 u3} R M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) 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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u1 u3, max u1 u3} R R M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u1 u3} R R M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u3, u1, u3} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexFinsetRange.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b _inst_6 (fun (a : M) (b : M) => _inst_7 a b))) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) + forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u3} M] (x : M) (i : ι) (h : optParam.{0} (Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6))) (Finset.mem_image_of_mem.{u3, u2} ι M (fun (a : M) (b : M) => _inst_7 a b) (Finset.univ.{u2} ι _inst_6) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) i (Finset.mem_univ.{u2} ι _inst_6 i))), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) => R) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) h)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) (fun (_x : Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) => R) _x) (Finsupp.funLike.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) 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 (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u3} R (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u1 u3} R (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u3, u1, u3, max u1 u3} (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u1 u3} R (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u1 u3, max u1 u3} R M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) 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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u1 u3, max u1 u3} R R M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u1 u3} R R M (Finsupp.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u1, u1} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u3, u1, u3} (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) a) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6)))) R M _inst_1 _inst_2 _inst_3 (Basis.reindexFinsetRange.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b _inst_6 (fun (a : M) (b : M) => _inst_7 a b))) x) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Finset.{u3} M) (Finset.instMembershipFinset.{u3} M) x (Finset.image.{u2, u3} ι M (fun (a : M) (b : M) => _inst_7 a b) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b) (Finset.univ.{u2} ι _inst_6))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i) h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) i) Case conversion may be inaccurate. Consider using '#align basis.reindex_finset_range_repr Basis.reindexFinsetRange_reprₓ'. -/ @[simp] theorem reindexFinsetRange_repr (x : M) (i : ι) @@ -1013,7 +1013,7 @@ def constr : (ι → M') ≃ₗ[S] M →ₗ[R] M' lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {M' : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u4} M'] [_inst_5 : Module.{u2, u4} R M' _inst_1 _inst_4] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (S : Type.{u5}) [_inst_6 : Semiring.{u5} S] [_inst_7 : Module.{u5, u4} S M' _inst_6 _inst_4] [_inst_8 : SMulCommClass.{u2, u5, u4} R S M' (SMulZeroClass.toHasSmul.{u2, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (SMulWithZero.toSmulZeroClass.{u2, u4} R M' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u4} R M' (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (Module.toMulActionWithZero.{u2, u4} R M' _inst_1 _inst_4 _inst_5)))) (SMulZeroClass.toHasSmul.{u5, u4} S M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (SMulWithZero.toSmulZeroClass.{u5, u4} S M' (MulZeroClass.toHasZero.{u5} S (MulZeroOneClass.toMulZeroClass.{u5} S (MonoidWithZero.toMulZeroOneClass.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_6)))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (MulActionWithZero.toSMulWithZero.{u5, u4} S M' (Semiring.toMonoidWithZero.{u5} S _inst_6) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (Module.toMulActionWithZero.{u5, u4} S M' _inst_6 _inst_4 _inst_7))))] (f : ι -> M'), Eq.{max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (coeFn.{max (succ (max u1 u4)) (succ (max u3 u4)), max (succ (max u1 u4)) (succ (max u3 u4))} (LinearEquiv.{u5, u5, max u1 u4, max u3 u4} S S _inst_6 _inst_6 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHomInvPair.ids.{u5} S _inst_6) (RingHomInvPair.ids.{u5} S _inst_6) (ι -> M') (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u1, u4} ι (fun (ᾰ : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.Function.module.{u1, u5, u4} ι S M' _inst_6 _inst_4 _inst_7) (LinearMap.module.{u2, u2, u5, u3, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_6 _inst_7 _inst_8)) (fun (_x : LinearEquiv.{u5, u5, max u1 u4, max u3 u4} S S _inst_6 _inst_6 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHomInvPair.ids.{u5} S _inst_6) (RingHomInvPair.ids.{u5} S _inst_6) (ι -> M') (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u1, u4} ι (fun (ᾰ : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.Function.module.{u1, u5, u4} ι S M' _inst_6 _inst_4 _inst_7) (LinearMap.module.{u2, u2, u5, u3, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_6 _inst_7 _inst_8)) => (ι -> M') -> (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u4, max u3 u4} S S (ι -> M') (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 _inst_6 (Pi.addCommMonoid.{u1, u4} ι (fun (ᾰ : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.Function.module.{u1, u5, u4} ι S M' _inst_6 _inst_4 _inst_7) (LinearMap.module.{u2, u2, u5, u3, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_6 _inst_7 _inst_8) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHomInvPair.ids.{u5} S _inst_6) (RingHomInvPair.ids.{u5} S _inst_6)) (Basis.constr.{u1, u2, u3, u4, u5} ι R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b S _inst_6 _inst_7 _inst_8) f) (LinearMap.comp.{u2, u2, u2, u3, max u4 u2, u4} R R R M (Finsupp.{u4, u2} M' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M' _inst_1 _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u2} M' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_4 _inst_3 (Finsupp.module.{u4, u2, u2} M' 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_5 (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))) (Finsupp.total.{u4, u4, u2} M' M' R _inst_1 _inst_4 _inst_5 (id.{succ u4} M')) (LinearMap.comp.{u2, u2, u2, u3, max u1 u2, max u4 u2} R R R M (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Finsupp.{u4, u2} M' R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u2} M' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Finsupp.module.{u4, u2, u2} M' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (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))) (Finsupp.lmapDomain.{u1, u2, u2, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1) M' f) ((fun (a : Sort.{max (succ u3) (succ (max u1 u2))}) (b : Sort.{max (succ u3) (succ (max u1 u2))}) [self : HasLiftT.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} a b] => self.0) (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (HasLiftT.mk.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (CoeTCₓ.coe.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (coeBase.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1))))) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b)))) but is expected to have type - forall {ι : Type.{u2}} {R : Type.{u3}} {M : Type.{u5}} {M' : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u5} M] [_inst_3 : Module.{u3, u5} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u4} M'] [_inst_5 : Module.{u3, u4} R M' _inst_1 _inst_4] (b : Basis.{u2, u3, u5} ι R M _inst_1 _inst_2 _inst_3) (S : Type.{u1}) [_inst_6 : Semiring.{u1} S] [_inst_7 : Module.{u1, u4} S M' _inst_6 _inst_4] [_inst_8 : SMulCommClass.{u3, u1, u4} R S M' (SMulZeroClass.toSMul.{u3, u4} R M' (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u4} R M' (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u4} R M' (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (Module.toMulActionWithZero.{u3, u4} R M' _inst_1 _inst_4 _inst_5)))) (SMulZeroClass.toSMul.{u1, u4} S M' (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u4} S M' (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u4} S M' (Semiring.toMonoidWithZero.{u1} S _inst_6) (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (Module.toMulActionWithZero.{u1, u4} S M' _inst_6 _inst_4 _inst_7))))] (f : ι -> M'), Eq.{max (succ u5) (succ u4)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : ι -> M') => LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) f) (FunLike.coe.{max (max (succ u2) (succ u5)) (succ u4), max (succ u2) (succ u4), max (succ u5) (succ u4)} (LinearEquiv.{u1, u1, max u2 u4, max u4 u5} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) (ι -> M') (fun (_x : ι -> M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : ι -> M') => LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _x) (SMulHomClass.toFunLike.{max (max u2 u5) u4, u1, max u2 u4, max u5 u4} (LinearEquiv.{u1, u1, max u2 u4, max u4 u5} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) S (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (SMulZeroClass.toSMul.{u1, max u2 u4} S (ι -> M') (AddMonoid.toZero.{max u2 u4} (ι -> M') (AddCommMonoid.toAddMonoid.{max u2 u4} (ι -> M') (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u4} S (ι -> M') (AddMonoid.toAddZeroClass.{max u2 u4} (ι -> M') (AddCommMonoid.toAddMonoid.{max u2 u4} (ι -> M') (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)))) (DistribMulAction.toDistribSMul.{u1, max u2 u4} S (ι -> M') (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u2 u4} (ι -> M') (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4))) (Module.toDistribMulAction.{u1, max u2 u4} S (ι -> M') _inst_6 (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)))))) (SMulZeroClass.toSMul.{u1, max u5 u4} S (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddMonoid.toZero.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max u5 u4} S (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max u5 u4} S (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u1, max u5 u4} S (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u5) u4, u1, max u2 u4, max u5 u4} (LinearEquiv.{u1, u1, max u2 u4, max u4 u5} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) S (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u2 u4} (ι -> M') (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4))) (AddCommMonoid.toAddMonoid.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u4} S (ι -> M') _inst_6 (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7))) (Module.toDistribMulAction.{u1, max u5 u4} S (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u4, max u5 u4, max (max u2 u5) u4} S (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearEquiv.{u1, u1, max u2 u4, max u4 u5} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) _inst_6 (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u4, max u5 u4, max (max u2 u5) u4} S S (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearEquiv.{u1, u1, max u2 u4, max u4 u5} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) _inst_6 _inst_6 (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u4, max u5 u4} S S (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 _inst_6 (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6)))))) (Basis.constr.{u2, u3, u5, u4, u1} ι R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b S _inst_6 _inst_7 _inst_8) f) (LinearMap.comp.{u3, u3, u3, u5, max u3 u4, u4} R R R M (Finsupp.{u4, u3} M' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M' _inst_1 _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} M' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_4 _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} M' 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_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.total.{u4, u4, u3} M' M' R _inst_1 _inst_4 _inst_5 (id.{succ u4} M')) (LinearMap.comp.{u3, u3, u3, u5, max u3 u2, max u3 u4} R R R M (Finsupp.{u2, u3} ι R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Finsupp.{u4, u3} M' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u3} M' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} M' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lmapDomain.{u2, u3, u3, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1) M' f) (LinearEquiv.toLinearMap.{u3, u3, u5, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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)) (Basis.repr.{u2, u3, u5} ι R M _inst_1 _inst_2 _inst_3 b)))) + forall {ι : Type.{u2}} {R : Type.{u3}} {M : Type.{u5}} {M' : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u5} M] [_inst_3 : Module.{u3, u5} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u4} M'] [_inst_5 : Module.{u3, u4} R M' _inst_1 _inst_4] (b : Basis.{u2, u3, u5} ι R M _inst_1 _inst_2 _inst_3) (S : Type.{u1}) [_inst_6 : Semiring.{u1} S] [_inst_7 : Module.{u1, u4} S M' _inst_6 _inst_4] [_inst_8 : SMulCommClass.{u3, u1, u4} R S M' (SMulZeroClass.toSMul.{u3, u4} R M' (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u4} R M' (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u4} R M' (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (Module.toMulActionWithZero.{u3, u4} R M' _inst_1 _inst_4 _inst_5)))) (SMulZeroClass.toSMul.{u1, u4} S M' (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u4} S M' (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u4} S M' (Semiring.toMonoidWithZero.{u1} S _inst_6) (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (Module.toMulActionWithZero.{u1, u4} S M' _inst_6 _inst_4 _inst_7))))] (f : ι -> M'), Eq.{max (succ u5) (succ u4)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : ι -> M') => LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) f) (FunLike.coe.{max (max (succ u2) (succ u5)) (succ u4), max (succ u2) (succ u4), max (succ u5) (succ u4)} (LinearEquiv.{u1, u1, max u2 u4, max u4 u5} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) (ι -> M') (fun (_x : ι -> M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : ι -> M') => LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _x) (SMulHomClass.toFunLike.{max (max u2 u5) u4, u1, max u2 u4, max u5 u4} (LinearEquiv.{u1, u1, max u2 u4, max u4 u5} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) S (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (SMulZeroClass.toSMul.{u1, max u2 u4} S (ι -> M') (AddMonoid.toZero.{max u2 u4} (ι -> M') (AddCommMonoid.toAddMonoid.{max u2 u4} (ι -> M') (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u4} S (ι -> M') (AddMonoid.toAddZeroClass.{max u2 u4} (ι -> M') (AddCommMonoid.toAddMonoid.{max u2 u4} (ι -> M') (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)))) (DistribMulAction.toDistribSMul.{u1, max u2 u4} S (ι -> M') (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u2 u4} (ι -> M') (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4))) (Module.toDistribMulAction.{u1, max u2 u4} S (ι -> M') _inst_6 (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)))))) (SMulZeroClass.toSMul.{u1, max u5 u4} S (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddMonoid.toZero.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max u5 u4} S (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max u5 u4} S (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u1, max u5 u4} S (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u5) u4, u1, max u2 u4, max u5 u4} (LinearEquiv.{u1, u1, max u2 u4, max u4 u5} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) S (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u2 u4} (ι -> M') (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4))) (AddCommMonoid.toAddMonoid.{max u5 u4} (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u4} S (ι -> M') _inst_6 (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7))) (Module.toDistribMulAction.{u1, max u5 u4} S (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u4, max u5 u4, max (max u2 u5) u4} S (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearEquiv.{u1, u1, max u2 u4, max u4 u5} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) _inst_6 (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u4, max u5 u4, max (max u2 u5) u4} S S (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearEquiv.{u1, u1, max u2 u4, max u4 u5} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) _inst_6 _inst_6 (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u4, max u5 u4} S S (ι -> M') (LinearMap.{u3, u3, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 _inst_6 (Pi.addCommMonoid.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u4, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u5, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6)))))) (Basis.constr.{u2, u3, u5, u4, u1} ι R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b S _inst_6 _inst_7 _inst_8) f) (LinearMap.comp.{u3, u3, u3, u5, max u3 u4, u4} R R R M (Finsupp.{u4, u3} M' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M' _inst_1 _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u4, u3} M' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_4 _inst_3 (Finsupp.module.{u4, u3, u3} M' 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_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.total.{u4, u4, u3} M' M' R _inst_1 _inst_4 _inst_5 (id.{succ u4} M')) (LinearMap.comp.{u3, u3, u3, u5, max u3 u2, max u3 u4} R R R M (Finsupp.{u2, u3} ι R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Finsupp.{u4, u3} M' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u3} M' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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)) (Finsupp.module.{u4, u3, u3} M' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lmapDomain.{u2, u3, u3, u4} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1) M' f) (LinearEquiv.toLinearMap.{u3, u3, u5, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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)) (Basis.repr.{u2, u3, u5} ι R M _inst_1 _inst_2 _inst_3 b)))) Case conversion may be inaccurate. Consider using '#align basis.constr_def Basis.constr_defₓ'. -/ theorem constr_def (f : ι → M') : b.constr S f = Finsupp.total M' M' R id ∘ₗ Finsupp.lmapDomain R R f ∘ₗ ↑b.repr := @@ -1024,7 +1024,7 @@ theorem constr_def (f : ι → M') : lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {M' : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u4} M'] [_inst_5 : Module.{u2, u4} R M' _inst_1 _inst_4] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (S : Type.{u5}) [_inst_6 : Semiring.{u5} S] [_inst_7 : Module.{u5, u4} S M' _inst_6 _inst_4] [_inst_8 : SMulCommClass.{u2, u5, u4} R S M' (SMulZeroClass.toHasSmul.{u2, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (SMulWithZero.toSmulZeroClass.{u2, u4} R M' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u4} R M' (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (Module.toMulActionWithZero.{u2, u4} R M' _inst_1 _inst_4 _inst_5)))) (SMulZeroClass.toHasSmul.{u5, u4} S M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (SMulWithZero.toSmulZeroClass.{u5, u4} S M' (MulZeroClass.toHasZero.{u5} S (MulZeroOneClass.toMulZeroClass.{u5} S (MonoidWithZero.toMulZeroOneClass.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_6)))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (MulActionWithZero.toSMulWithZero.{u5, u4} S M' (Semiring.toMonoidWithZero.{u5} S _inst_6) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (Module.toMulActionWithZero.{u5, u4} S M' _inst_6 _inst_4 _inst_7))))] (f : ι -> M') (x : M), Eq.{succ u4} M' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (fun (_x : LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) => M -> M') (LinearMap.hasCoeToFun.{u2, u2, u3, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (coeFn.{max (succ (max u1 u4)) (succ (max u3 u4)), max (succ (max u1 u4)) (succ (max u3 u4))} (LinearEquiv.{u5, u5, max u1 u4, max u3 u4} S S _inst_6 _inst_6 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHomInvPair.ids.{u5} S _inst_6) (RingHomInvPair.ids.{u5} S _inst_6) (ι -> M') (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u1, u4} ι (fun (ᾰ : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.Function.module.{u1, u5, u4} ι S M' _inst_6 _inst_4 _inst_7) (LinearMap.module.{u2, u2, u5, u3, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_6 _inst_7 _inst_8)) (fun (_x : LinearEquiv.{u5, u5, max u1 u4, max u3 u4} S S _inst_6 _inst_6 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHomInvPair.ids.{u5} S _inst_6) (RingHomInvPair.ids.{u5} S _inst_6) (ι -> M') (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u1, u4} ι (fun (ᾰ : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.Function.module.{u1, u5, u4} ι S M' _inst_6 _inst_4 _inst_7) (LinearMap.module.{u2, u2, u5, u3, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_6 _inst_7 _inst_8)) => (ι -> M') -> (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u4, max u3 u4} S S (ι -> M') (LinearMap.{u2, u2, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 _inst_6 (Pi.addCommMonoid.{u1, u4} ι (fun (ᾰ : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.Function.module.{u1, u5, u4} ι S M' _inst_6 _inst_4 _inst_7) (LinearMap.module.{u2, u2, u5, u3, u4} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) _inst_6 _inst_7 _inst_8) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_6)) (RingHomInvPair.ids.{u5} S _inst_6) (RingHomInvPair.ids.{u5} S _inst_6)) (Basis.constr.{u1, u2, u3, u4, u5} ι R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b S _inst_6 _inst_7 _inst_8) f) x) (Finsupp.sum.{u1, u2, u4} ι R M' (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_4 (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) x) (fun (b : ι) (a : R) => SMul.smul.{u2, u4} R M' (SMulZeroClass.toHasSmul.{u2, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (SMulWithZero.toSmulZeroClass.{u2, u4} R M' (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u4} R M' (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4))) (Module.toMulActionWithZero.{u2, u4} R M' _inst_1 _inst_4 _inst_5)))) a (f b))) but is expected to have type - forall {ι : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} {M' : Type.{u5}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} M] [_inst_3 : Module.{u3, u4} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u5} M'] [_inst_5 : Module.{u3, u5} R M' _inst_1 _inst_4] (b : Basis.{u2, u3, u4} ι R M _inst_1 _inst_2 _inst_3) (S : Type.{u1}) [_inst_6 : Semiring.{u1} S] [_inst_7 : Module.{u1, u5} S M' _inst_6 _inst_4] [_inst_8 : SMulCommClass.{u3, u1, u5} R S M' (SMulZeroClass.toSMul.{u3, u5} R M' (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u5} R M' (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u5} R M' (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (Module.toMulActionWithZero.{u3, u5} R M' _inst_1 _inst_4 _inst_5)))) (SMulZeroClass.toSMul.{u1, u5} S M' (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u5} S M' (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u5} S M' (Semiring.toMonoidWithZero.{u1} S _inst_6) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (Module.toMulActionWithZero.{u1, u5} S M' _inst_6 _inst_4 _inst_7))))] (f : ι -> M') (x : M), Eq.{succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M') x) (FunLike.coe.{max (succ u4) (succ u5), succ u4, succ u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : ι -> M') => LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) f) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u5), max (succ u2) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, max u2 u5, max u5 u4} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) (ι -> M') (fun (_x : ι -> M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : ι -> M') => LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _x) (SMulHomClass.toFunLike.{max (max u2 u4) u5, u1, max u2 u5, max u4 u5} (LinearEquiv.{u1, u1, max u2 u5, max u5 u4} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) S (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (SMulZeroClass.toSMul.{u1, max u2 u5} S (ι -> M') (AddMonoid.toZero.{max u2 u5} (ι -> M') (AddCommMonoid.toAddMonoid.{max u2 u5} (ι -> M') (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u5} S (ι -> M') (AddMonoid.toAddZeroClass.{max u2 u5} (ι -> M') (AddCommMonoid.toAddMonoid.{max u2 u5} (ι -> M') (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)))) (DistribMulAction.toDistribSMul.{u1, max u2 u5} S (ι -> M') (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u2 u5} (ι -> M') (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4))) (Module.toDistribMulAction.{u1, max u2 u5} S (ι -> M') _inst_6 (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)))))) (SMulZeroClass.toSMul.{u1, max u4 u5} S (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddMonoid.toZero.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u5} S (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max u4 u5} S (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u1, max u4 u5} S (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u4) u5, u1, max u2 u5, max u4 u5} (LinearEquiv.{u1, u1, max u2 u5, max u5 u4} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) S (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u2 u5} (ι -> M') (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4))) (AddCommMonoid.toAddMonoid.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u5} S (ι -> M') _inst_6 (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7))) (Module.toDistribMulAction.{u1, max u4 u5} S (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u5, max u4 u5, max (max u2 u4) u5} S (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearEquiv.{u1, u1, max u2 u5, max u5 u4} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) _inst_6 (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u5, max u4 u5, max (max u2 u4) u5} S S (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearEquiv.{u1, u1, max u2 u5, max u5 u4} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) _inst_6 _inst_6 (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u5, max u4 u5} S S (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 _inst_6 (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6)))))) (Basis.constr.{u2, u3, u4, u5, u1} ι R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b S _inst_6 _inst_7 _inst_8) f) x) (Finsupp.sum.{u2, u3, u5} ι R M' (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) _inst_4 (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), succ u4, max (succ u2) (succ u3)} (LinearEquiv.{u3, u3, u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u4, u3, u4, max u2 u3} (LinearEquiv.{u3, u3, u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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))) R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u4} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u4} M _inst_2) (Module.toDistribMulAction.{u3, u4} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u4, u3, u4, max u2 u3} (LinearEquiv.{u3, u3, u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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))) R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u4} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u4} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u4, max u2 u3, max (max u2 u3) u4} R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u4, max u2 u3, max (max u2 u3) u4} R R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u4, max u2 u3} R R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u2, u3, u4} ι R M _inst_1 _inst_2 _inst_3 b) x) (fun (b : ι) (a : R) => HSMul.hSMul.{u3, u5, u5} R M' M' (instHSMul.{u3, u5} R M' (SMulZeroClass.toSMul.{u3, u5} R M' (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u5} R M' (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u5} R M' (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (Module.toMulActionWithZero.{u3, u5} R M' _inst_1 _inst_4 _inst_5))))) a (f b))) + forall {ι : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} {M' : Type.{u5}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} M] [_inst_3 : Module.{u3, u4} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u5} M'] [_inst_5 : Module.{u3, u5} R M' _inst_1 _inst_4] (b : Basis.{u2, u3, u4} ι R M _inst_1 _inst_2 _inst_3) (S : Type.{u1}) [_inst_6 : Semiring.{u1} S] [_inst_7 : Module.{u1, u5} S M' _inst_6 _inst_4] [_inst_8 : SMulCommClass.{u3, u1, u5} R S M' (SMulZeroClass.toSMul.{u3, u5} R M' (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u5} R M' (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u5} R M' (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (Module.toMulActionWithZero.{u3, u5} R M' _inst_1 _inst_4 _inst_5)))) (SMulZeroClass.toSMul.{u1, u5} S M' (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u5} S M' (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u5} S M' (Semiring.toMonoidWithZero.{u1} S _inst_6) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (Module.toMulActionWithZero.{u1, u5} S M' _inst_6 _inst_4 _inst_7))))] (f : ι -> M') (x : M), Eq.{succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M') x) (FunLike.coe.{max (succ u4) (succ u5), succ u4, succ u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : ι -> M') => LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) f) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u5), max (succ u2) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, max u2 u5, max u5 u4} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) (ι -> M') (fun (_x : ι -> M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : ι -> M') => LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _x) (SMulHomClass.toFunLike.{max (max u2 u4) u5, u1, max u2 u5, max u4 u5} (LinearEquiv.{u1, u1, max u2 u5, max u5 u4} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) S (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (SMulZeroClass.toSMul.{u1, max u2 u5} S (ι -> M') (AddMonoid.toZero.{max u2 u5} (ι -> M') (AddCommMonoid.toAddMonoid.{max u2 u5} (ι -> M') (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)))) (DistribSMul.toSMulZeroClass.{u1, max u2 u5} S (ι -> M') (AddMonoid.toAddZeroClass.{max u2 u5} (ι -> M') (AddCommMonoid.toAddMonoid.{max u2 u5} (ι -> M') (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)))) (DistribMulAction.toDistribSMul.{u1, max u2 u5} S (ι -> M') (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u2 u5} (ι -> M') (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4))) (Module.toDistribMulAction.{u1, max u2 u5} S (ι -> M') _inst_6 (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)))))) (SMulZeroClass.toSMul.{u1, max u4 u5} S (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddMonoid.toZero.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u5} S (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max u4 u5} S (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u1, max u4 u5} S (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u4) u5, u1, max u2 u5, max u4 u5} (LinearEquiv.{u1, u1, max u2 u5, max u5 u4} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) S (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_6)) (AddCommMonoid.toAddMonoid.{max u2 u5} (ι -> M') (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4))) (AddCommMonoid.toAddMonoid.{max u4 u5} (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u5} S (ι -> M') _inst_6 (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7))) (Module.toDistribMulAction.{u1, max u4 u5} S (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u5, max u4 u5, max (max u2 u4) u5} S (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearEquiv.{u1, u1, max u2 u5, max u5 u4} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) _inst_6 (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u5, max u4 u5, max (max u2 u4) u5} S S (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearEquiv.{u1, u1, max u2 u5, max u5 u4} S S _inst_6 _inst_6 (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8)) _inst_6 _inst_6 (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u5, max u4 u5} S S (ι -> M') (LinearMap.{u3, u3, u4, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_2 _inst_4 _inst_3 _inst_5) _inst_6 _inst_6 (Pi.addCommMonoid.{u2, u5} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') (fun (i : ι) => _inst_4)) (LinearMap.addCommMonoid.{u3, u3, u4, u5} R R M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u2, u5, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => M') S _inst_6 (fun (i : ι) => _inst_4) (fun (i : ι) => _inst_7)) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, u1, u4, u5} R R S M M' _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) _inst_6 _inst_7 _inst_8) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_6)) (RingHomInvPair.ids.{u1} S _inst_6) (RingHomInvPair.ids.{u1} S _inst_6)))))) (Basis.constr.{u2, u3, u4, u5, u1} ι R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b S _inst_6 _inst_7 _inst_8) f) x) (Finsupp.sum.{u2, u3, u5} ι R M' (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) _inst_4 (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), succ u4, max (succ u2) (succ u3)} (LinearEquiv.{u3, u3, u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u4, u3, u4, max u2 u3} (LinearEquiv.{u3, u3, u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u4} R M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u4} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u4} M _inst_2) (Module.toDistribMulAction.{u3, u4} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u2, 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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u4, u3, u4, max u2 u3} (LinearEquiv.{u3, u3, u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u4} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u4} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u2, 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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u4, max u2 u3, max (max u2 u3) u4} R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u4, max u2 u3, max (max u2 u3) u4} R R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u4, max u2 u3} R R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u2, u3, u4} ι R M _inst_1 _inst_2 _inst_3 b) x) (fun (b : ι) (a : R) => HSMul.hSMul.{u3, u5, u5} R M' M' (instHSMul.{u3, u5} R M' (SMulZeroClass.toSMul.{u3, u5} R M' (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u5} R M' (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u5} R M' (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u5} M' (AddCommMonoid.toAddMonoid.{u5} M' _inst_4)) (Module.toMulActionWithZero.{u3, u5} R M' _inst_1 _inst_4 _inst_5))))) a (f b))) Case conversion may be inaccurate. Consider using '#align basis.constr_apply Basis.constr_applyₓ'. -/ theorem constr_apply (f : ι → M') (x : M) : b.constr S f x = (b.repr x).Sum fun b a => a • f b := by @@ -1177,9 +1177,9 @@ protected def prod : Basis (Sum ι ι') R (M × M') := /- warning: basis.prod_repr_inl -> Basis.prod_repr_inl is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {ι' : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} {M' : Type.{u5}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} M] [_inst_3 : Module.{u3, u4} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u5} M'] [_inst_5 : Module.{u3, u5} R M' _inst_1 _inst_4] (b : Basis.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3) (b' : Basis.{u2, u3, u5} ι' R M' _inst_1 _inst_4 _inst_5) (x : Prod.{u4, u5} M M') (i : ι), Eq.{succ u3} R (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => (Sum.{u1, u2} ι ι') -> R) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ (max u4 u5)) (succ (max (max u1 u2) u3)), max (succ (max u4 u5)) (succ (max (max u1 u2) u3))} (LinearEquiv.{u3, u3, max u4 u5, max (max u1 u2) u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (fun (_x : LinearEquiv.{u3, u3, max u4 u5, max (max u1 u2) u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) => (Prod.{u4, u5} M M') -> (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, max u4 u5, max (max u1 u2) u3} R R (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{max u1 u2, u3, max u4 u5} (Sum.{u1, u2} ι ι') R (Prod.{u4, u5} M M') _inst_1 (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Basis.prod.{u1, u2, u3, u4, u5} ι ι' R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b b')) x) (Sum.inl.{u1, u2} ι ι' i)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ u4) (succ (max u1 u3)), max (succ u4) (succ (max u1 u3))} (LinearEquiv.{u3, u3, u4, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (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))) (fun (_x : LinearEquiv.{u3, u3, u4, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, u4, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3 b) (Prod.fst.{u4, u5} M M' x)) i) + forall {ι : Type.{u1}} {ι' : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} {M' : Type.{u5}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} M] [_inst_3 : Module.{u3, u4} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u5} M'] [_inst_5 : Module.{u3, u5} R M' _inst_1 _inst_4] (b : Basis.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3) (b' : Basis.{u2, u3, u5} ι' R M' _inst_1 _inst_4 _inst_5) (x : Prod.{u4, u5} M M') (i : ι), Eq.{succ u3} R (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => (Sum.{u1, u2} ι ι') -> R) (Finsupp.coeFun.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ (max u4 u5)) (succ (max (max u1 u2) u3)), max (succ (max u4 u5)) (succ (max (max u1 u2) u3))} (LinearEquiv.{u3, u3, max u4 u5, max (max u1 u2) u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (fun (_x : LinearEquiv.{u3, u3, max u4 u5, max (max u1 u2) u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) => (Prod.{u4, u5} M M') -> (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, max u4 u5, max (max u1 u2) u3} R R (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{max u1 u2, u3, max u4 u5} (Sum.{u1, u2} ι ι') R (Prod.{u4, u5} M M') _inst_1 (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Basis.prod.{u1, u2, u3, u4, u5} ι ι' R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b b')) x) (Sum.inl.{u1, u2} ι ι' i)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ u4) (succ (max u1 u3)), max (succ u4) (succ (max u1 u3))} (LinearEquiv.{u3, u3, u4, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (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))) (fun (_x : LinearEquiv.{u3, u3, u4, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, u4, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3 b) (Prod.fst.{u4, u5} M M' x)) i) but is expected to have type - forall {ι : Type.{u2}} {ι' : Type.{u1}} {R : Type.{u3}} {M : Type.{u5}} {M' : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u5} M] [_inst_3 : Module.{u3, u5} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u4} M'] [_inst_5 : Module.{u3, u4} R M' _inst_1 _inst_4] (b : Basis.{u2, u3, u5} ι R M _inst_1 _inst_2 _inst_3) (b' : Basis.{u1, u3, u4} ι' R M' _inst_1 _inst_4 _inst_5) (x : Prod.{u5, u4} M M') (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u2, u1} ι ι') => R) (Sum.inl.{u2, u1} ι ι' i)) (FunLike.coe.{max (succ (max u2 u1)) (succ u3), succ (max u2 u1), succ u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Sum.{u2, u1} ι ι') (fun (_x : Sum.{u2, u1} ι ι') => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u2, u1} ι ι') => R) _x) (Finsupp.funLike.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (max (max (succ u2) (succ u1)) (succ u3)) (succ u5)) (succ u4), max (succ u5) (succ u4), max (max (succ u2) (succ u1)) (succ u3)} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (Prod.{u5, u4} M M') (fun (_x : Prod.{u5, u4} M M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Prod.{u5, u4} M M') => Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max (max (max u2 u1) u3) u5) u4, u3, max u5 u4, max (max u2 u1) u3} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, max u5 u4} R (Prod.{u5, u4} M M') (AddMonoid.toZero.{max u5 u4} (Prod.{u5, u4} M M') (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4))) (DistribSMul.toSMulZeroClass.{u3, max u5 u4} R (Prod.{u5, u4} M M') (AddMonoid.toAddZeroClass.{max u5 u4} (Prod.{u5, u4} M M') (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4))) (DistribMulAction.toDistribSMul.{u3, max u5 u4} R (Prod.{u5, u4} M M') (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4)) (Module.toDistribMulAction.{u3, max u5 u4} R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5))))) (SMulZeroClass.toSMul.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u2 u1) u3) u5) u4, u3, max u5 u4, max (max u2 u1) u3} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u5 u4} R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5)) (Module.toDistribMulAction.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u5 u4, max (max u2 u1) u3, max (max (max (max u2 u1) u3) u5) u4} R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u5 u4, max (max u2 u1) u3, max (max (max (max u2 u1) u3) u5) u4} R R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u5 u4, max (max u2 u1) u3} R R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{max u2 u1, u3, max u5 u4} (Sum.{u2, u1} ι ι') R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Basis.prod.{u2, u1, u3, u5, u4} ι ι' R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b b')) x) (Sum.inl.{u2, u1} ι ι' i)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u5), succ u5, max (succ u2) (succ u3)} (LinearEquiv.{u3, u3, u5, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u5, u3, u5, max u2 u3} (LinearEquiv.{u3, u3, u5, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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))) R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u5} R M (AddMonoid.toZero.{u5} M (AddCommMonoid.toAddMonoid.{u5} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u5} R M (AddMonoid.toAddZeroClass.{u5} M (AddCommMonoid.toAddMonoid.{u5} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u5} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u5} M _inst_2) (Module.toDistribMulAction.{u3, u5} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u5, u3, u5, max u2 u3} (LinearEquiv.{u3, u3, u5, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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))) R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u5} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u5} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u5, max u2 u3, max (max u2 u3) u5} R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u5, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u5, max u2 u3, max (max u2 u3) u5} R R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u5, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u5, max u2 u3} R R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u2, u3, u5} ι R M _inst_1 _inst_2 _inst_3 b) (Prod.fst.{u5, u4} M M' x)) i) + forall {ι : Type.{u2}} {ι' : Type.{u1}} {R : Type.{u3}} {M : Type.{u5}} {M' : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u5} M] [_inst_3 : Module.{u3, u5} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u4} M'] [_inst_5 : Module.{u3, u4} R M' _inst_1 _inst_4] (b : Basis.{u2, u3, u5} ι R M _inst_1 _inst_2 _inst_3) (b' : Basis.{u1, u3, u4} ι' R M' _inst_1 _inst_4 _inst_5) (x : Prod.{u5, u4} M M') (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u2, u1} ι ι') => R) (Sum.inl.{u2, u1} ι ι' i)) (FunLike.coe.{max (succ (max u2 u1)) (succ u3), succ (max u2 u1), succ u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Sum.{u2, u1} ι ι') (fun (_x : Sum.{u2, u1} ι ι') => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u2, u1} ι ι') => R) _x) (Finsupp.funLike.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (max (max (succ u2) (succ u1)) (succ u3)) (succ u5)) (succ u4), max (succ u5) (succ u4), max (max (succ u2) (succ u1)) (succ u3)} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (Prod.{u5, u4} M M') (fun (_x : Prod.{u5, u4} M M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Prod.{u5, u4} M M') => Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max (max (max u2 u1) u3) u5) u4, u3, max u5 u4, max (max u2 u1) u3} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, max u5 u4} R (Prod.{u5, u4} M M') (AddMonoid.toZero.{max u5 u4} (Prod.{u5, u4} M M') (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4))) (DistribSMul.toSMulZeroClass.{u3, max u5 u4} R (Prod.{u5, u4} M M') (AddMonoid.toAddZeroClass.{max u5 u4} (Prod.{u5, u4} M M') (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4))) (DistribMulAction.toDistribSMul.{u3, max u5 u4} R (Prod.{u5, u4} M M') (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4)) (Module.toDistribMulAction.{u3, max u5 u4} R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5))))) (SMulZeroClass.toSMul.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u2 u1) u3) u5) u4, u3, max u5 u4, max (max u2 u1) u3} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u5 u4} R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5)) (Module.toDistribMulAction.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u5 u4, max (max u2 u1) u3, max (max (max (max u2 u1) u3) u5) u4} R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u5 u4, max (max u2 u1) u3, max (max (max (max u2 u1) u3) u5) u4} R R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u5 u4, max (max u2 u1) u3} R R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{max u2 u1, u3, max u5 u4} (Sum.{u2, u1} ι ι') R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Basis.prod.{u2, u1, u3, u5, u4} ι ι' R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b b')) x) (Sum.inl.{u2, u1} ι ι' i)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u5), succ u5, max (succ u2) (succ u3)} (LinearEquiv.{u3, u3, u5, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u5, u3, u5, max u2 u3} (LinearEquiv.{u3, u3, u5, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u5} R M (AddMonoid.toZero.{u5} M (AddCommMonoid.toAddMonoid.{u5} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u5} R M (AddMonoid.toAddZeroClass.{u5} M (AddCommMonoid.toAddMonoid.{u5} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u5} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u5} M _inst_2) (Module.toDistribMulAction.{u3, u5} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u2, 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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u5, u3, u5, max u2 u3} (LinearEquiv.{u3, u3, u5, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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))) R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u5} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u5} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u2 u3} R (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{u2, 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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u5, max u2 u3, max (max u2 u3) u5} R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u5, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u5, max u2 u3, max (max u2 u3) u5} R R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u5, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u5, max u2 u3} R R M (Finsupp.{u2, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u2, u3, u5} ι R M _inst_1 _inst_2 _inst_3 b) (Prod.fst.{u5, u4} M M' x)) i) Case conversion may be inaccurate. Consider using '#align basis.prod_repr_inl Basis.prod_repr_inlₓ'. -/ @[simp] theorem prod_repr_inl (x) (i) : (b.Prod b').repr x (Sum.inl i) = b.repr x.1 i := @@ -1188,9 +1188,9 @@ theorem prod_repr_inl (x) (i) : (b.Prod b').repr x (Sum.inl i) = b.repr x.1 i := /- warning: basis.prod_repr_inr -> Basis.prod_repr_inr is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {ι' : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} {M' : Type.{u5}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} M] [_inst_3 : Module.{u3, u4} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u5} M'] [_inst_5 : Module.{u3, u5} R M' _inst_1 _inst_4] (b : Basis.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3) (b' : Basis.{u2, u3, u5} ι' R M' _inst_1 _inst_4 _inst_5) (x : Prod.{u4, u5} M M') (i : ι'), Eq.{succ u3} R (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => (Sum.{u1, u2} ι ι') -> R) (Finsupp.hasCoeToFun.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ (max u4 u5)) (succ (max (max u1 u2) u3)), max (succ (max u4 u5)) (succ (max (max u1 u2) u3))} (LinearEquiv.{u3, u3, max u4 u5, max (max u1 u2) u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (fun (_x : LinearEquiv.{u3, u3, max u4 u5, max (max u1 u2) u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) => (Prod.{u4, u5} M M') -> (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, max u4 u5, max (max u1 u2) u3} R R (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{max u1 u2, u3, max u4 u5} (Sum.{u1, u2} ι ι') R (Prod.{u4, u5} M M') _inst_1 (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Basis.prod.{u1, u2, u3, u4, u5} ι ι' R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b b')) x) (Sum.inr.{u1, u2} ι ι' i)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => ι' -> R) (Finsupp.hasCoeToFun.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ u5) (succ (max u2 u3)), max (succ u5) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u5, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_4 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.module.{u2, 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))) (fun (_x : LinearEquiv.{u3, u3, u5, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_4 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.module.{u2, 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))) => M' -> (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, u5, max u2 u3} R R M' (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 _inst_4 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.module.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{u2, u3, u5} ι' R M' _inst_1 _inst_4 _inst_5 b') (Prod.snd.{u4, u5} M M' x)) i) + forall {ι : Type.{u1}} {ι' : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} {M' : Type.{u5}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} M] [_inst_3 : Module.{u3, u4} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u5} M'] [_inst_5 : Module.{u3, u5} R M' _inst_1 _inst_4] (b : Basis.{u1, u3, u4} ι R M _inst_1 _inst_2 _inst_3) (b' : Basis.{u2, u3, u5} ι' R M' _inst_1 _inst_4 _inst_5) (x : Prod.{u4, u5} M M') (i : ι'), Eq.{succ u3} R (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => (Sum.{u1, u2} ι ι') -> R) (Finsupp.coeFun.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ (max u4 u5)) (succ (max (max u1 u2) u3)), max (succ (max u4 u5)) (succ (max (max u1 u2) u3))} (LinearEquiv.{u3, u3, max u4 u5, max (max u1 u2) u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (fun (_x : LinearEquiv.{u3, u3, max u4 u5, max (max u1 u2) u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) => (Prod.{u4, u5} M M') -> (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, max u4 u5, max (max u1 u2) u3} R R (Prod.{u4, u5} M M') (Finsupp.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u1 u2, u3} (Sum.{u1, u2} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u1 u2, u3, u3} (Sum.{u1, u2} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{max u1 u2, u3, max u4 u5} (Sum.{u1, u2} ι ι') R (Prod.{u4, u5} M M') _inst_1 (Prod.addCommMonoid.{u4, u5} M M' _inst_2 _inst_4) (Prod.module.{u3, u4, u5} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Basis.prod.{u1, u2, u3, u4, u5} ι ι' R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b b')) x) (Sum.inr.{u1, u2} ι ι' i)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => ι' -> R) (Finsupp.coeFun.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (coeFn.{max (succ u5) (succ (max u2 u3)), max (succ u5) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u5, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_4 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.module.{u2, 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))) (fun (_x : LinearEquiv.{u3, u3, u5, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_4 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.module.{u2, 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))) => M' -> (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u3, u3, u5, max u2 u3} R R M' (Finsupp.{u2, u3} ι' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) _inst_1 _inst_1 _inst_4 (Finsupp.addCommMonoid.{u2, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.module.{u2, 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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Basis.repr.{u2, u3, u5} ι' R M' _inst_1 _inst_4 _inst_5 b') (Prod.snd.{u4, u5} M M' x)) i) but is expected to have type - forall {ι : Type.{u2}} {ι' : Type.{u1}} {R : Type.{u3}} {M : Type.{u5}} {M' : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u5} M] [_inst_3 : Module.{u3, u5} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u4} M'] [_inst_5 : Module.{u3, u4} R M' _inst_1 _inst_4] (b : Basis.{u2, u3, u5} ι R M _inst_1 _inst_2 _inst_3) (b' : Basis.{u1, u3, u4} ι' R M' _inst_1 _inst_4 _inst_5) (x : Prod.{u5, u4} M M') (i : ι'), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u2, u1} ι ι') => R) (Sum.inr.{u2, u1} ι ι' i)) (FunLike.coe.{max (succ (max u2 u1)) (succ u3), succ (max u2 u1), succ u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Sum.{u2, u1} ι ι') (fun (_x : Sum.{u2, u1} ι ι') => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u2, u1} ι ι') => R) _x) (Finsupp.funLike.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (max (max (succ u2) (succ u1)) (succ u3)) (succ u5)) (succ u4), max (succ u5) (succ u4), max (max (succ u2) (succ u1)) (succ u3)} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (Prod.{u5, u4} M M') (fun (_x : Prod.{u5, u4} M M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Prod.{u5, u4} M M') => Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max (max (max u2 u1) u3) u5) u4, u3, max u5 u4, max (max u2 u1) u3} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, max u5 u4} R (Prod.{u5, u4} M M') (AddMonoid.toZero.{max u5 u4} (Prod.{u5, u4} M M') (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4))) (DistribSMul.toSMulZeroClass.{u3, max u5 u4} R (Prod.{u5, u4} M M') (AddMonoid.toAddZeroClass.{max u5 u4} (Prod.{u5, u4} M M') (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4))) (DistribMulAction.toDistribSMul.{u3, max u5 u4} R (Prod.{u5, u4} M M') (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4)) (Module.toDistribMulAction.{u3, max u5 u4} R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5))))) (SMulZeroClass.toSMul.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u2 u1) u3) u5) u4, u3, max u5 u4, max (max u2 u1) u3} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u5 u4} R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5)) (Module.toDistribMulAction.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u5 u4, max (max u2 u1) u3, max (max (max (max u2 u1) u3) u5) u4} R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u5 u4, max (max u2 u1) u3, max (max (max (max u2 u1) u3) u5) u4} R R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u5 u4, max (max u2 u1) u3} R R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{max u2 u1, u3, max u5 u4} (Sum.{u2, u1} ι ι') R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Basis.prod.{u2, u1, u3, u5, u4} ι ι' R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b b')) x) (Sum.inr.{u2, u1} ι ι' i)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι') => R) _x) (Finsupp.funLike.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), succ u4, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u4, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M' (fun (_x : M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M') => Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u4, u3, u4, max u1 u3} (LinearEquiv.{u3, u3, u4, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u4} R M' (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (DistribSMul.toSMulZeroClass.{u3, u4} R M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (DistribMulAction.toDistribSMul.{u3, u4} R M' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u4} M' _inst_4) (Module.toDistribMulAction.{u3, u4} R M' _inst_1 _inst_4 _inst_5)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u4, u3, u4, max u1 u3} (LinearEquiv.{u3, u3, u4, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u4} M' _inst_4) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u4} R M' _inst_1 _inst_4 _inst_5) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u4, max u1 u3, max (max u1 u3) u4} R M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u4, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u4, max u1 u3, max (max u1 u3) u4} R R M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u4, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u4, max u1 u3} R R M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u1, u3, u4} ι' R M' _inst_1 _inst_4 _inst_5 b') (Prod.snd.{u5, u4} M M' x)) i) + forall {ι : Type.{u2}} {ι' : Type.{u1}} {R : Type.{u3}} {M : Type.{u5}} {M' : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u5} M] [_inst_3 : Module.{u3, u5} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u4} M'] [_inst_5 : Module.{u3, u4} R M' _inst_1 _inst_4] (b : Basis.{u2, u3, u5} ι R M _inst_1 _inst_2 _inst_3) (b' : Basis.{u1, u3, u4} ι' R M' _inst_1 _inst_4 _inst_5) (x : Prod.{u5, u4} M M') (i : ι'), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u2, u1} ι ι') => R) (Sum.inr.{u2, u1} ι ι' i)) (FunLike.coe.{max (succ (max u2 u1)) (succ u3), succ (max u2 u1), succ u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Sum.{u2, u1} ι ι') (fun (_x : Sum.{u2, u1} ι ι') => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u2, u1} ι ι') => R) _x) (Finsupp.funLike.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (max (max (succ u2) (succ u1)) (succ u3)) (succ u5)) (succ u4), max (succ u5) (succ u4), max (max (succ u2) (succ u1)) (succ u3)} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (Prod.{u5, u4} M M') (fun (_x : Prod.{u5, u4} M M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Prod.{u5, u4} M M') => Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max (max (max u2 u1) u3) u5) u4, u3, max u5 u4, max (max u2 u1) u3} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, max u5 u4} R (Prod.{u5, u4} M M') (AddMonoid.toZero.{max u5 u4} (Prod.{u5, u4} M M') (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4))) (DistribSMul.toSMulZeroClass.{u3, max u5 u4} R (Prod.{u5, u4} M M') (AddMonoid.toAddZeroClass.{max u5 u4} (Prod.{u5, u4} M M') (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4))) (DistribMulAction.toDistribSMul.{u3, max u5 u4} R (Prod.{u5, u4} M M') (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4)) (Module.toDistribMulAction.{u3, max u5 u4} R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5))))) (SMulZeroClass.toSMul.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u2 u1) u3) u5) u4, u3, max u5 u4, max (max u2 u1) u3} (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u4} (Prod.{u5, u4} M M') (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{max (max u2 u1) u3} (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u5 u4} R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5)) (Module.toDistribMulAction.{u3, max (max u2 u1) u3} R (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u5 u4, max (max u2 u1) u3, max (max (max (max u2 u1) u3) u5) u4} R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u5 u4, max (max u2 u1) u3, max (max (max (max u2 u1) u3) u5) u4} R R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, max u5 u4, max u3 u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u5 u4, max (max u2 u1) u3} R R (Prod.{u5, u4} M M') (Finsupp.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Finsupp.addCommMonoid.{max u2 u1, u3} (Sum.{u2, u1} ι ι') R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Finsupp.module.{max u2 u1, u3, u3} (Sum.{u2, u1} ι ι') R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{max u2 u1, u3, max u5 u4} (Sum.{u2, u1} ι ι') R (Prod.{u5, u4} M M') _inst_1 (Prod.instAddCommMonoidSum.{u5, u4} M M' _inst_2 _inst_4) (Prod.module.{u3, u5, u4} R M M' _inst_1 _inst_2 _inst_4 _inst_3 _inst_5) (Basis.prod.{u2, u1, u3, u5, u4} ι ι' R M M' _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b b')) x) (Sum.inr.{u2, u1} ι ι' i)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι') => R) _x) (Finsupp.funLike.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), succ u4, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u4, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (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))) M' (fun (_x : M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M') => Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u4, u3, u4, max u1 u3} (LinearEquiv.{u3, u3, u4, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (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))) R M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u4} R M' (AddMonoid.toZero.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (DistribSMul.toSMulZeroClass.{u3, u4} R M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' _inst_4)) (DistribMulAction.toDistribSMul.{u3, u4} R M' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u4} M' _inst_4) (Module.toDistribMulAction.{u3, u4} R M' _inst_1 _inst_4 _inst_5)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u4, u3, u4, max u1 u3} (LinearEquiv.{u3, u3, u4, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (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))) R M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u4} M' _inst_4) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u4} R M' _inst_1 _inst_4 _inst_5) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u4, max u1 u3, max (max u1 u3) u4} R M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u4, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (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_1 _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u4, max u1 u3, max (max u1 u3) u4} R R M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u4, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (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_1 _inst_1 _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u4, max u1 u3} R R M' (Finsupp.{u1, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_4 (Finsupp.addCommMonoid.{u1, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_5 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u1, u3, u4} ι' R M' _inst_1 _inst_4 _inst_5 b') (Prod.snd.{u5, u4} M M' x)) i) Case conversion may be inaccurate. Consider using '#align basis.prod_repr_inr Basis.prod_repr_inrₓ'. -/ @[simp] theorem prod_repr_inr (x) (i) : (b.Prod b').repr x (Sum.inr i) = b'.repr x.2 i := @@ -1357,9 +1357,9 @@ theorem singleton_apply (ι R : Type _) [Unique ι] [Semiring R] (i) : Basis.sin /- warning: basis.singleton_repr -> Basis.singleton_repr is a dubious translation: lean 3 declaration is - forall (ι : Type.{u1}) (R : Type.{u2}) [_inst_6 : Unique.{succ u1} ι] [_inst_7 : Semiring.{u2} R] (x : R) (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u2, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHomInvPair.ids.{u2} R _inst_7) (RingHomInvPair.ids.{u2} R _inst_7) R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)))) (Semiring.toModule.{u2} R _inst_7) (Finsupp.module.{u1, u2, u2} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Semiring.toModule.{u2} R _inst_7))) (fun (_x : LinearEquiv.{u2, u2, u2, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHomInvPair.ids.{u2} R _inst_7) (RingHomInvPair.ids.{u2} R _inst_7) R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)))) (Semiring.toModule.{u2} R _inst_7) (Finsupp.module.{u1, u2, u2} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Semiring.toModule.{u2} R _inst_7))) => R -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u2, max u1 u2} R R R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) _inst_7 _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)))) (Semiring.toModule.{u2} R _inst_7) (Finsupp.module.{u1, u2, u2} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Semiring.toModule.{u2} R _inst_7)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHomInvPair.ids.{u2} R _inst_7) (RingHomInvPair.ids.{u2} R _inst_7)) (Basis.repr.{u1, u2, u2} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Semiring.toModule.{u2} R _inst_7) (Basis.singleton.{u1, u2} ι R _inst_6 _inst_7)) x) i) x + forall (ι : Type.{u1}) (R : Type.{u2}) [_inst_6 : Unique.{succ u1} ι] [_inst_7 : Semiring.{u2} R] (x : R) (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u2, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHomInvPair.ids.{u2} R _inst_7) (RingHomInvPair.ids.{u2} R _inst_7) R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)))) (Semiring.toModule.{u2} R _inst_7) (Finsupp.module.{u1, u2, u2} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Semiring.toModule.{u2} R _inst_7))) (fun (_x : LinearEquiv.{u2, u2, u2, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHomInvPair.ids.{u2} R _inst_7) (RingHomInvPair.ids.{u2} R _inst_7) R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)))) (Semiring.toModule.{u2} R _inst_7) (Finsupp.module.{u1, u2, u2} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Semiring.toModule.{u2} R _inst_7))) => R -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u2, max u1 u2} R R R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))))) _inst_7 _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)))) (Semiring.toModule.{u2} R _inst_7) (Finsupp.module.{u1, u2, u2} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Semiring.toModule.{u2} R _inst_7)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7)) (RingHomInvPair.ids.{u2} R _inst_7) (RingHomInvPair.ids.{u2} R _inst_7)) (Basis.repr.{u1, u2, u2} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_7))) (Semiring.toModule.{u2} R _inst_7) (Basis.singleton.{u1, u2} ι R _inst_6 _inst_7)) x) i) x but is expected to have type - forall (ι : Type.{u2}) (R : Type.{u1}) [_inst_6 : Unique.{succ u2} ι] [_inst_7 : Semiring.{u1} R] (x : R) (i : ι), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u1, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u1, max u2 u1} (LinearEquiv.{u1, u1, u1, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (SMulZeroClass.toSMul.{u1, u1} R R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))))) (DistribSMul.toSMulZeroClass.{u1, u1} R R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))))) (DistribMulAction.toDistribSMul.{u1, u1} R R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7)) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Module.toDistribMulAction.{u1, u1} R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) _inst_7 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u1, max u2 u1} (LinearEquiv.{u1, u1, u1, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7)) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))))) (Module.toDistribMulAction.{u1, u1} R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7)) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) _inst_7 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, u1, max u2 u1, max u2 u1} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (LinearEquiv.{u1, u1, u1, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u1, max u2 u1, max u2 u1} R R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (LinearEquiv.{u1, u1, u1, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) _inst_7 _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u1, max u2 u1} R R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) _inst_7 _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7)))))) (Basis.repr.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7) (Basis.singleton.{u2, u1} ι R _inst_6 _inst_7)) x) i) x + forall (ι : Type.{u2}) (R : Type.{u1}) [_inst_6 : Unique.{succ u2} ι] [_inst_7 : Semiring.{u1} R] (x : R) (i : ι), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u1, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.module.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u1, max u2 u1} (LinearEquiv.{u1, u1, u1, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.module.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (SMulZeroClass.toSMul.{u1, u1} R R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))))) (DistribSMul.toSMulZeroClass.{u1, u1} R R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))))) (DistribMulAction.toDistribSMul.{u1, u1} R R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7)) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Module.toDistribMulAction.{u1, u1} R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) _inst_7 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u1, max u2 u1} (LinearEquiv.{u1, u1, u1, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.module.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7)) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))))) (Module.toDistribMulAction.{u1, u1} R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7)) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) _inst_7 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, u1, max u2 u1, max u2 u1} R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (LinearEquiv.{u1, u1, u1, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.module.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.module.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u1, max u2 u1, max u2 u1} R R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (LinearEquiv.{u1, u1, u1, max u1 u2} R R _inst_7 _inst_7 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.module.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7))) _inst_7 _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.module.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u1, max u2 u1} R R R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_7))) _inst_7 _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)))) (Semiring.toModule.{u1} R _inst_7) (Finsupp.module.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7)) (RingHomInvPair.ids.{u1} R _inst_7) (RingHomInvPair.ids.{u1} R _inst_7)))))) (Basis.repr.{u2, u1, u1} ι R R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_7))) (Semiring.toModule.{u1} R _inst_7) (Basis.singleton.{u2, u1} ι R _inst_6 _inst_7)) x) i) x Case conversion may be inaccurate. Consider using '#align basis.singleton_repr Basis.singleton_reprₓ'. -/ @[simp] theorem singleton_repr (ι R : Type _) [Unique ι] [Semiring R] (x i) : @@ -1485,9 +1485,9 @@ theorem Basis.equivFun_symm_apply (x : ι → R) : b.equivFun.symm x = ∑ i, x /- warning: basis.equiv_fun_apply -> Basis.equivFun_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u1} ι] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (u : M), Eq.{max (succ u1) (succ u2)} (ι -> R) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> ι -> R) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (ι -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.equivFun.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 _inst_6 b) u) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) u)) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u1} ι] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (u : M), Eq.{max (succ u1) (succ u2)} (ι -> R) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> ι -> R) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (ι -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.equivFun.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 _inst_6 b) u) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) u)) but is expected to have type - forall {ι : Type.{u3}} {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] [_inst_6 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (u : M), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => ι -> R) u) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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.Hom.GroupAction._hyg.2186 : M) => ι -> R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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))) R M (ι -> R) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (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.Basis._hyg.10931 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (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.Basis._hyg.10931 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (ι -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (ι -> R) (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (ι -> R) _inst_1 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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))) R M (ι -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (ι -> R) (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (ι -> R) _inst_1 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (ι -> R) (LinearEquiv.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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_1 _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (ι -> R) (LinearEquiv.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (ι -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.equivFun.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 _inst_6 b) u) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) u)) + forall {ι : Type.{u3}} {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] [_inst_6 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (u : M), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => ι -> R) u) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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.Hom.GroupAction._hyg.2186 : M) => ι -> R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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))) R M (ι -> R) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (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.Basis._hyg.10931 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (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.Basis._hyg.10931 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (ι -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (ι -> R) (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (ι -> R) _inst_1 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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))) R M (ι -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (ι -> R) (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (ι -> R) _inst_1 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (ι -> R) (LinearEquiv.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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_1 _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (ι -> R) (LinearEquiv.{u2, u2, u1, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (ι -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u3, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.10931 : ι) => 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.Basis._hyg.10931 : ι) => 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)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.equivFun.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 _inst_6 b) u) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) u)) Case conversion may be inaccurate. Consider using '#align basis.equiv_fun_apply Basis.equivFun_applyₓ'. -/ @[simp] theorem Basis.equivFun_apply (u : M) : b.equivFun u = b.repr u := @@ -1519,9 +1519,9 @@ theorem Basis.sum_equivFun (u : M) : (∑ i, b.equivFun u i • b i) = u := /- warning: basis.sum_repr -> Basis.sum_repr is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u1} ι] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (u : M), Eq.{succ u3} M (Finset.sum.{u3, u1} M ι _inst_2 (Finset.univ.{u1} ι _inst_6) (fun (i : ι) => SMul.smul.{u2, u3} R M (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) u) i) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i))) u + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u1} ι] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (u : M), Eq.{succ u3} M (Finset.sum.{u3, u1} M ι _inst_2 (Finset.univ.{u1} ι _inst_6) (fun (i : ι) => SMul.smul.{u2, u3} R M (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) u) i) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i))) u but is expected to have type - forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u2} ι] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (u : M), Eq.{succ u3} M (Finset.sum.{u3, u2} M ι _inst_2 (Finset.univ.{u2} ι _inst_6) (fun (i : ι) => HSMul.hSMul.{u1, u3, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (instHSMul.{u1, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (SMulZeroClass.toSMul.{u1, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (Module.toMulActionWithZero.{u1, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_1 _inst_2 _inst_3))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) u) i) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i))) u + forall {ι : Type.{u2}} {R : Type.{u1}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u2} ι] (b : Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) (u : M), Eq.{succ u3} M (Finset.sum.{u3, u2} M ι _inst_2 (Finset.univ.{u2} ι _inst_6) (fun (i : ι) => HSMul.hSMul.{u1, u3, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (instHSMul.{u1, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (SMulZeroClass.toSMul.{u1, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (Module.toMulActionWithZero.{u1, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_1 _inst_2 _inst_3))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u1, u3, max u2 u1} (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u1, max u2 u1} R (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u1, u3, max u2 u1, max (max u2 u1) u3} R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u3, max u2 u1, max (max u2 u1) u3} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (LinearEquiv.{u1, u1, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u3, max u2 u1} R R M (Finsupp.{u2, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u2, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Basis.repr.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3 b) u) i) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u2, succ u3} (Basis.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u2, u1, u3} ι R M _inst_1 _inst_2 _inst_3) b i))) u Case conversion may be inaccurate. Consider using '#align basis.sum_repr Basis.sum_reprₓ'. -/ theorem Basis.sum_repr (u : M) : (∑ i, b.repr u i • b i) = u := b.sum_equivFun u @@ -1540,9 +1540,9 @@ theorem Basis.equivFun_self [DecidableEq ι] (i j : ι) : /- warning: basis.repr_sum_self -> Basis.repr_sum_self is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u1} ι] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (c : ι -> R), Eq.{max (succ u1) (succ u2)} (ι -> R) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) (Finset.sum.{u3, u1} M ι _inst_2 (Finset.univ.{u1} ι _inst_6) (fun (i : ι) => SMul.smul.{u2, u3} R M (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (c i) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i))))) c + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u1} ι] (b : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (c : ι -> R), Eq.{max (succ u1) (succ u2)} (ι -> R) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 b) (Finset.sum.{u3, u1} M ι _inst_2 (Finset.univ.{u1} ι _inst_6) (fun (i : ι) => SMul.smul.{u2, u3} R M (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (c i) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) (fun (_x : Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3)) b i))))) c but is expected to have type - forall {ι : Type.{u3}} {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] [_inst_6 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (c : ι -> R), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : ι), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) (Finset.sum.{u1, u3} M ι _inst_2 (Finset.univ.{u3} ι _inst_6) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_1 _inst_2 _inst_3))))) (c i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i))))) c + forall {ι : Type.{u3}} {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] [_inst_6 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) (c : ι -> R), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : ι), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Basis.repr.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3 b) (Finset.sum.{u1, u3} M ι _inst_2 (Finset.univ.{u3} ι _inst_6) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_2)) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) i) _inst_1 _inst_2 _inst_3))))) (c i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M _inst_1 _inst_2 _inst_3) b i))))) c Case conversion may be inaccurate. Consider using '#align basis.repr_sum_self Basis.repr_sum_selfₓ'. -/ theorem Basis.repr_sum_self (c : ι → R) : ⇑(b.repr (∑ i, c i • b i)) = c := by @@ -1567,9 +1567,9 @@ def Basis.ofEquivFun (e : M ≃ₗ[R] ι → R) : Basis ι R M := /- warning: basis.of_equiv_fun_repr_apply -> Basis.ofEquivFun_repr_apply is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u1} ι] (e : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (x : M) (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 (Basis.ofEquivFun.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 _inst_6 e)) x) i) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> ι -> R) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (ι -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) e x i) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u1} ι] (e : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (x : M) (i : ι), Eq.{succ u2} R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Basis.repr.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 (Basis.ofEquivFun.{u1, u2, u3} ι R M _inst_1 _inst_2 _inst_3 _inst_6 e)) x) i) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) => M -> ι -> R) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (ι -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Pi.Function.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) e x i) but is expected to have type - forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u1} ι] (e : LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) (x : M) (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 (Basis.ofEquivFun.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 _inst_6 e)) x) i) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => ι -> R) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) R M (ι -> R) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (ι -> R) (AddMonoid.toZero.{max u1 u3} (ι -> R) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> R) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (ι -> R) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> R) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> R) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (ι -> R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> R) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (ι -> R) _inst_1 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) R M (ι -> R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> R) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (ι -> R) _inst_1 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (ι -> R) (LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (ι -> R) (LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (ι -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) e x i) + forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_6 : Fintype.{u1} ι] (e : LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) (x : M) (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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_1 _inst_2 (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)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Basis.repr.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 (Basis.ofEquivFun.{u1, u3, u2} ι R M _inst_1 _inst_2 _inst_3 _inst_6 e)) x) i) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => ι -> R) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) R M (ι -> R) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (ι -> R) (AddMonoid.toZero.{max u1 u3} (ι -> R) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> R) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (ι -> R) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> R) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> R) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (ι -> R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> R) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (ι -> R) _inst_1 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) R M (ι -> R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> R) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (ι -> R) _inst_1 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (ι -> R) (LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (ι -> R) (LinearEquiv.{u3, u3, u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M (ι -> R) _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (ι -> R) _inst_1 _inst_1 _inst_2 (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Pi.module.{u1, u3, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.11811 : ι) => R) R _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) e x i) Case conversion may be inaccurate. Consider using '#align basis.of_equiv_fun_repr_apply Basis.ofEquivFun_repr_applyₓ'. -/ @[simp] theorem Basis.ofEquivFun_repr_apply (e : M ≃ₗ[R] ι → R) (x : M) (i : ι) : @@ -1714,9 +1714,9 @@ theorem equiv'_symm_apply (f : M → M') (g : M' → M) (hf hg hgf hfg) (i : ι' /- warning: basis.sum_repr_mul_repr -> Basis.sum_repr_mul_repr is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (b : Basis.{u1, u2, u3} ι R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) {ι' : Type.{u4}} [_inst_6 : Fintype.{u4} ι'] (b' : Basis.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (x : M) (i : ι), Eq.{succ u2} R (Finset.sum.{u2, u4} R ι' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Finset.univ.{u4} ι' _inst_6) (fun (j : ι') => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Basis.repr.{u1, u2, u3} ι R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 b) (coeFn.{max (succ u4) (succ u2) (succ u3), max (succ u4) (succ u3)} (Basis.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (fun (_x : Basis.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) => ι' -> M) (FunLike.hasCoeToFun.{max (succ u4) (succ u2) (succ u3), succ u4, succ u3} (Basis.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι' (fun (_x : ι') => M) (Basis.funLike.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) b' j)) i) (coeFn.{max (succ u4) (succ u2), max (succ u4) (succ u2)} (Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (fun (_x : Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) => ι' -> R) (Finsupp.hasCoeToFun.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (coeFn.{max (succ u3) (succ (max u4 u2)), max (succ u3) (succ (max u4 u2))} (LinearEquiv.{u2, u2, u3, max u4 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u4, u2} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u2, u2} ι' R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearEquiv.{u2, u2, u3, max u4 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u4, u2} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u2, u2} ι' R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) => M -> (Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u4 u2} R R M (Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u4, u2} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u2, u2} ι' R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Basis.repr.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 b') x) j))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Basis.repr.{u1, u2, u3} ι R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 b) x) i) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (b : Basis.{u1, u2, u3} ι R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) {ι' : Type.{u4}} [_inst_6 : Fintype.{u4} ι'] (b' : Basis.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (x : M) (i : ι), Eq.{succ u2} R (Finset.sum.{u2, u4} R ι' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Finset.univ.{u4} ι' _inst_6) (fun (j : ι') => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (Distrib.toHasMul.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Basis.repr.{u1, u2, u3} ι R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 b) (coeFn.{max (succ u4) (succ u2) (succ u3), max (succ u4) (succ u3)} (Basis.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (fun (_x : Basis.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) => ι' -> M) (FunLike.hasCoeToFun.{max (succ u4) (succ u2) (succ u3), succ u4, succ u3} (Basis.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι' (fun (_x : ι') => M) (Basis.funLike.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) b' j)) i) (coeFn.{max (succ u4) (succ u2), max (succ u4) (succ u2)} (Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (fun (_x : Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) => ι' -> R) (Finsupp.coeFun.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (coeFn.{max (succ u3) (succ (max u4 u2)), max (succ u3) (succ (max u4 u2))} (LinearEquiv.{u2, u2, u3, max u4 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u4, u2} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u2, u2} ι' R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearEquiv.{u2, u2, u3, max u4 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u4, u2} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u2, u2} ι' R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) => M -> (Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u4 u2} R R M (Finsupp.{u4, u2} ι' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u4, u2} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u2, u2} ι' R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Basis.repr.{u4, u2, u3} ι' R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 b') x) j))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Basis.repr.{u1, u2, u3} ι R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 b) x) i) but is expected to have type - forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2] (b : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) {ι' : Type.{u4}} [_inst_6 : Fintype.{u4} ι'] (b' : Basis.{u4, u3, u2} ι' R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) (x : M) (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Finset.sum.{u3, u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ι' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1)))) (Finset.univ.{u4} ι' _inst_6) (fun (j : ι') => HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι') => R) j) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (instHMul.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1))))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (Basis.repr.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3 b) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u4, succ u2} (Basis.{u4, u3, u2} ι' R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) ι' (fun (_x : ι') => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι') => M) _x) (Basis.funLike.{u4, u3, u2} ι' R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) b' j)) i) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι') => R) _x) (Finsupp.funLike.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u2, max (succ u3) (succ u4)} (LinearEquiv.{u3, u3, u2, max u3 u4} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toZero.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u4} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u3 u4, max (max u3 u2) u4} R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u3 u4, max (max u3 u2) u4} R R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u3 u4} R R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (Basis.repr.{u4, u3, u2} ι' R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3 b') x) j))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (Basis.repr.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3 b) x) i) + forall {ι : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2] (b : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) {ι' : Type.{u4}} [_inst_6 : Fintype.{u4} ι'] (b' : Basis.{u4, u3, u2} ι' R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) (x : M) (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Finset.sum.{u3, u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ι' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1)))) (Finset.univ.{u4} ι' _inst_6) (fun (j : ι') => HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι') => R) j) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (instHMul.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1))))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (Basis.repr.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3 b) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u4, succ u2} (Basis.{u4, u3, u2} ι' R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) ι' (fun (_x : ι') => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι') => M) _x) (Basis.funLike.{u4, u3, u2} ι' R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) b' j)) i) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι') => R) _x) (Finsupp.funLike.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u2, max (succ u3) (succ u4)} (LinearEquiv.{u3, u3, u2, max u3 u4} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toZero.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u4} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u3 u4} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.module.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u3, u2, max u3 u4} (LinearEquiv.{u3, u3, u2, max u3 u4} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u4} (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u3 u4} R (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.module.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u3 u4, max (max u3 u2) u4} R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u3 u4, max (max u3 u2) u4} R R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u4} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u3 u4} R R M (Finsupp.{u4, u3} ι' R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u4, u3} ι' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u4, u3, u3} ι' R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (Basis.repr.{u4, u3, u2} ι' R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3 b') x) j))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u2, max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toZero.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u3, u2, max u1 u3} (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3) (Module.toDistribMulAction.{u3, max u1 u3} R (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, max u1 u3, max (max u1 u3) u2} R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, max u1 u3, max (max u1 u3) u2} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (LinearEquiv.{u3, u3, u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, max u1 u3} R R M (Finsupp.{u1, u3} ι R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_3 (Finsupp.module.{u1, u3, u3} ι R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (Basis.repr.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 _inst_3 b) x) i) Case conversion may be inaccurate. Consider using '#align basis.sum_repr_mul_repr Basis.sum_repr_mul_reprₓ'. -/ theorem sum_repr_mul_repr {ι'} [Fintype ι'] (b' : Basis ι' R M) (x : M) (i : ι) : (∑ j : ι', b.repr (b' j) i * b'.repr x j) = b.repr x i := @@ -1810,7 +1810,7 @@ protected noncomputable def mk : Basis ι R M := lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_3 : AddCommGroup.{u3} M] [_inst_6 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)] {x : M} (hli : LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) (hsp : LE.le.{u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) (Preorder.toLE.{u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) (SetLike.partialOrder.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6)))) (Top.top.{u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) (Submodule.hasTop.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => M -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R R M (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Basis.repr.{u1, u2, u3} ι R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Basis.mk.{u1, u2, u3} ι R M v _inst_1 _inst_3 _inst_6 hli hsp)) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))) -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))))) (LinearMap.hasCoeToFun.{u2, u2, u3, max u1 u2} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u1, u2, u3} ι R M v _inst_1 _inst_3 _inst_6 hli) (Subtype.mk.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6)) x (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 (Set.range.{u3, succ u1} M ι v))) x (hsp x (Submodule.mem_top.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_6 x)))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_3 : AddCommGroup.{u1} M] [_inst_6 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)] {x : M} (hli : LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (hsp : LE.le.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6))))) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) x) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Basis.repr.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Basis.mk.{u3, u2, u1} ι R M v _inst_1 _inst_3 _inst_6 hli hsp)) x) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearMap.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v)))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v)))) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u3 u2} R R (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u3, u2, u1} ι R M v _inst_1 _inst_3 _inst_6 hli) (Subtype.mk.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))) x (hsp x (Submodule.mem_top.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 x)))) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_3 : AddCommGroup.{u1} M] [_inst_6 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)] {x : M} (hli : LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (hsp : LE.le.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6))))) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) x) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (Module.toDistribMulAction.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearEquiv.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R R M (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) _inst_6 (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Basis.repr.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Basis.mk.{u3, u2, u1} ι R M v _inst_1 _inst_3 _inst_6 hli hsp)) x) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearMap.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v)))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v)))) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u3 u2} R R (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u3, u2, u1} ι R M v _inst_1 _inst_3 _inst_6 hli) (Subtype.mk.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 (Set.range.{u1, succ u3} M ι v))) x (hsp x (Submodule.mem_top.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_6 x)))) Case conversion may be inaccurate. Consider using '#align basis.mk_repr Basis.mk_reprₓ'. -/ @[simp] theorem mk_repr : (Basis.mk hli hsp).repr x = hli.repr ⟨x, hsp Submodule.mem_top⟩ := @@ -2031,9 +2031,9 @@ theorem coord_unitsSmul (e : Basis ι R₂ M) (w : ι → R₂ˣ) (i : ι) : /- warning: basis.repr_units_smul -> Basis.repr_unitsSmul is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} [_inst_2 : CommRing.{u2} R₂] [_inst_3 : AddCommGroup.{u3} M] [_inst_7 : Module.{u2, u3} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)] (e : Basis.{u1, u2, u3} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_7) (w : ι -> (Units.{u2} R₂ (Ring.toMonoid.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (v : M) (i : ι), Eq.{succ u2} R₂ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (fun (_x : Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) => ι -> R₂) (Finsupp.hasCoeToFun.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) => M -> (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R₂ R₂ M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (Basis.repr.{u1, u2, u3} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_7 (Basis.unitsSmul.{u1, u2, u3} ι R₂ M (CommRing.toRing.{u2} R₂ _inst_2) _inst_3 _inst_7 e w)) v) i) (SMul.smul.{u2, u2} (Units.{u2} R₂ (Ring.toMonoid.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) R₂ (Units.hasSmul.{u2, u2} R₂ R₂ (Ring.toMonoid.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Mul.toSMul.{u2} R₂ (Distrib.toHasMul.{u2} R₂ (Ring.toDistrib.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Inv.inv.{u2} (Units.{u2} R₂ (Ring.toMonoid.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (Units.hasInv.{u2} R₂ (Ring.toMonoid.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (w i)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (fun (_x : Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) => ι -> R₂) (Finsupp.hasCoeToFun.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) => M -> (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R₂ R₂ M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (Basis.repr.{u1, u2, u3} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_7 e) v) i)) + forall {ι : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} [_inst_2 : CommRing.{u2} R₂] [_inst_3 : AddCommGroup.{u3} M] [_inst_7 : Module.{u2, u3} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)] (e : Basis.{u1, u2, u3} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_7) (w : ι -> (Units.{u2} R₂ (Ring.toMonoid.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (v : M) (i : ι), Eq.{succ u2} R₂ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (fun (_x : Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) => ι -> R₂) (Finsupp.coeFun.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) => M -> (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R₂ R₂ M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (Basis.repr.{u1, u2, u3} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_7 (Basis.unitsSmul.{u1, u2, u3} ι R₂ M (CommRing.toRing.{u2} R₂ _inst_2) _inst_3 _inst_7 e w)) v) i) (SMul.smul.{u2, u2} (Units.{u2} R₂ (Ring.toMonoid.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) R₂ (Units.hasSmul.{u2, u2} R₂ R₂ (Ring.toMonoid.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Mul.toSMul.{u2} R₂ (Distrib.toHasMul.{u2} R₂ (Ring.toDistrib.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Inv.inv.{u2} (Units.{u2} R₂ (Ring.toMonoid.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (Units.hasInv.{u2} R₂ (Ring.toMonoid.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (w i)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (fun (_x : Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) => ι -> R₂) (Finsupp.coeFun.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u3, max u1 u2} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (fun (_x : LinearEquiv.{u2, u2, u3, max u1 u2} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) => M -> (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u2, u2, u3, max u1 u2} R₂ R₂ M (Finsupp.{u1, u2} ι R₂ (MulZeroClass.toHasZero.{u2} R₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (Finsupp.addCommMonoid.{u1, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u1, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (Basis.repr.{u1, u2, u3} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) _inst_7 e) v) i)) but is expected to have type - forall {ι : Type.{u3}} {R₂ : Type.{u2}} {M : Type.{u1}} [_inst_2 : CommRing.{u2} R₂] [_inst_3 : AddCommGroup.{u1} M] [_inst_7 : Module.{u2, u1} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)] (e : Basis.{u3, u2, u1} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7) (w : ι -> (Units.{u2} R₂ (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) (v : M) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) _x) (Finsupp.funLike.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (SMulZeroClass.toSMul.{u2, u1} R₂ M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribSMul.toSMulZeroClass.{u2, u1} R₂ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribMulAction.toDistribSMul.{u2, u1} R₂ M (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (Module.toDistribMulAction.{u2, u1} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Module.toDistribMulAction.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Module.toDistribMulAction.{u2, u1} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7) (Module.toDistribMulAction.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R₂ R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R₂ R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (Basis.repr.{u3, u2, u1} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7 (Basis.unitsSmul.{u3, u2, u1} ι R₂ M (CommRing.toRing.{u2} R₂ _inst_2) _inst_3 _inst_7 e w)) v) i) (HSMul.hSMul.{u2, u2, u2} (Units.{u2} R₂ (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (instHSMul.{u2, u2} (Units.{u2} R₂ (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (Units.instSMulUnits.{u2, u2} R₂ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (Algebra.toSMul.{u2, u2} R₂ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (CommRing.toCommSemiring.{u2} R₂ _inst_2) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) _inst_2)) (Algebra.id.{u2} R₂ (CommRing.toCommSemiring.{u2} R₂ _inst_2))))) (Inv.inv.{u2} (Units.{u2} R₂ (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Units.instInvUnits.{u2} R₂ (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (w i)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) _x) (Finsupp.funLike.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (SMulZeroClass.toSMul.{u2, u1} R₂ M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribSMul.toSMulZeroClass.{u2, u1} R₂ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribMulAction.toDistribSMul.{u2, u1} R₂ M (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (Module.toDistribMulAction.{u2, u1} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Module.toDistribMulAction.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Module.toDistribMulAction.{u2, u1} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7) (Module.toDistribMulAction.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R₂ R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R₂ R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (Basis.repr.{u3, u2, u1} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7 e) v) i)) + forall {ι : Type.{u3}} {R₂ : Type.{u2}} {M : Type.{u1}} [_inst_2 : CommRing.{u2} R₂] [_inst_3 : AddCommGroup.{u1} M] [_inst_7 : Module.{u2, u1} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)] (e : Basis.{u3, u2, u1} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7) (w : ι -> (Units.{u2} R₂ (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) (v : M) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) _x) (Finsupp.funLike.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (SMulZeroClass.toSMul.{u2, u1} R₂ M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribSMul.toSMulZeroClass.{u2, u1} R₂ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribMulAction.toDistribSMul.{u2, u1} R₂ M (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (Module.toDistribMulAction.{u2, u1} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Module.toDistribMulAction.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Module.toDistribMulAction.{u2, u1} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7) (Module.toDistribMulAction.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R₂ R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R₂ R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (Basis.repr.{u3, u2, u1} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7 (Basis.unitsSmul.{u3, u2, u1} ι R₂ M (CommRing.toRing.{u2} R₂ _inst_2) _inst_3 _inst_7 e w)) v) i) (HSMul.hSMul.{u2, u2, u2} (Units.{u2} R₂ (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (instHSMul.{u2, u2} (Units.{u2} R₂ (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (Units.instSMulUnits.{u2, u2} R₂ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (Algebra.toSMul.{u2, u2} R₂ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (CommRing.toCommSemiring.{u2} R₂ _inst_2) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) i) _inst_2)) (Algebra.id.{u2} R₂ (CommRing.toCommSemiring.{u2} R₂ _inst_2))))) (Inv.inv.{u2} (Units.{u2} R₂ (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Units.instInvUnits.{u2} R₂ (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (w i)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R₂) _x) (Finsupp.funLike.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (SMulZeroClass.toSMul.{u2, u1} R₂ M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribSMul.toSMulZeroClass.{u2, u1} R₂ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3))) (DistribMulAction.toDistribSMul.{u2, u1} R₂ M (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (Module.toDistribMulAction.{u2, u1} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7)))) (SMulZeroClass.toSMul.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Module.toDistribMulAction.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (MonoidWithZero.toMonoid.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_3)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))))) (Module.toDistribMulAction.{u2, u1} R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7) (Module.toDistribMulAction.{u2, max u3 u2} R₂ (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u3 u2) u1} R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R₂ R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (LinearEquiv.{u2, u2, u1, max u2 u3} R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} R₂ R₂ M (Finsupp.{u3, u2} ι R₂ (MonoidWithZero.toZero.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) (Finsupp.addCommMonoid.{u3, u2} ι R₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))) _inst_7 (Finsupp.module.{u3, u2, u2} ι R₂ R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))))) (Semiring.toModule.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2))) (RingHomInvPair.ids.{u2} R₂ (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)))))))) (Basis.repr.{u3, u2, u1} ι R₂ M (Ring.toSemiring.{u2} R₂ (CommRing.toRing.{u2} R₂ _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_3) _inst_7 e) v) i)) Case conversion may be inaccurate. Consider using '#align basis.repr_units_smul Basis.repr_unitsSmulₓ'. -/ @[simp] theorem repr_unitsSmul (e : Basis ι R₂ M) (w : ι → R₂ˣ) (v : M) (i : ι) : @@ -2169,9 +2169,9 @@ theorem finTwoProd_one (R : Type _) [Semiring R] : Basis.finTwoProd R 1 = (0, 1) /- warning: basis.coe_fin_two_prod_repr -> Basis.coe_finTwoProd_repr is a dubious translation: lean 3 declaration is - forall {R : Type.{u1}} [_inst_10 : Semiring.{u1} R] (x : Prod.{u1, u1} R R), Eq.{succ u1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> R) (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (fun (_x : Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) => (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> R) (Finsupp.hasCoeToFun.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (coeFn.{succ u1, succ u1} (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (Prod.addCommMonoid.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) (fun (_x : LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (Prod.addCommMonoid.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) => (Prod.{u1, u1} R R) -> (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))))) (LinearEquiv.hasCoeToFun.{u1, u1, u1, u1} R R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) _inst_10 _inst_10 (Prod.addCommMonoid.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10)) (Basis.repr.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (Prod.{u1, u1} R R) _inst_10 (Prod.addCommMonoid.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Basis.finTwoProd.{u1} R _inst_10)) x)) (Matrix.vecCons.{u1} R (Nat.succ (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Prod.fst.{u1, u1} R R x) (Matrix.vecCons.{u1} R (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Prod.snd.{u1, u1} R R x) (Matrix.vecEmpty.{u1} R))) + forall {R : Type.{u1}} [_inst_10 : Semiring.{u1} R] (x : Prod.{u1, u1} R R), Eq.{succ u1} ((Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> R) (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (fun (_x : Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) => (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> R) (Finsupp.coeFun.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (coeFn.{succ u1, succ u1} (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (Prod.addCommMonoid.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) (fun (_x : LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (Prod.addCommMonoid.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) => (Prod.{u1, u1} R R) -> (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))))) (LinearEquiv.hasCoeToFun.{u1, u1, u1, u1} R R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) _inst_10 _inst_10 (Prod.addCommMonoid.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10)) (Basis.repr.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (Prod.{u1, u1} R R) _inst_10 (Prod.addCommMonoid.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Basis.finTwoProd.{u1} R _inst_10)) x)) (Matrix.vecCons.{u1} R (Nat.succ (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Prod.fst.{u1, u1} R R x) (Matrix.vecCons.{u1} R (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Prod.snd.{u1, u1} R R x) (Matrix.vecEmpty.{u1} R))) but is expected to have type - forall {R : Type.{u1}} [_inst_10 : Semiring.{u1} R] (x : Prod.{u1, u1} R R), Eq.{succ u1} (forall (ᾰ : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => R) ᾰ) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => R) _x) (Finsupp.funLike.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) (Prod.{u1, u1} R R) (fun (_x : Prod.{u1, u1} R R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Prod.{u1, u1} R R) => Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) _x) (SMulHomClass.toFunLike.{u1, u1, u1, u1} (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (SMulZeroClass.toSMul.{u1, u1} R (Prod.{u1, u1} R R) (AddMonoid.toZero.{u1} (Prod.{u1, u1} R R) (AddCommMonoid.toAddMonoid.{u1} (Prod.{u1, u1} R R) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))))) (DistribSMul.toSMulZeroClass.{u1, u1} R (Prod.{u1, u1} R R) (AddMonoid.toAddZeroClass.{u1} (Prod.{u1, u1} R R) (AddCommMonoid.toAddMonoid.{u1} (Prod.{u1, u1} R R) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))))) (DistribMulAction.toDistribSMul.{u1, u1} R (Prod.{u1, u1} R R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10)) (AddCommMonoid.toAddMonoid.{u1} (Prod.{u1, u1} R R) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (Module.toDistribMulAction.{u1, u1} R (Prod.{u1, u1} R R) _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)))))) (SMulZeroClass.toSMul.{u1, u1} R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (AddMonoid.toZero.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (AddCommMonoid.toAddMonoid.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))))) (DistribSMul.toSMulZeroClass.{u1, u1} R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (AddMonoid.toAddZeroClass.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (AddCommMonoid.toAddMonoid.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))))) (DistribMulAction.toDistribSMul.{u1, u1} R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10)) (AddCommMonoid.toAddMonoid.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (Module.toDistribMulAction.{u1, u1} R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) _inst_10 (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10)))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u1, u1, u1} (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10)) (AddCommMonoid.toAddMonoid.{u1} (Prod.{u1, u1} R R) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (AddCommMonoid.toAddMonoid.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (Module.toDistribMulAction.{u1, u1} R (Prod.{u1, u1} R R) _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10))) (Module.toDistribMulAction.{u1, u1} R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) _inst_10 (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) (SemilinearMapClass.distribMulActionHomClass.{u1, u1, u1, u1} R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u1, u1, u1} R R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) _inst_10 _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u1, u1} R R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) _inst_10 _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10)))))) (Basis.repr.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (Prod.{u1, u1} R R) _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Basis.finTwoProd.{u1} R _inst_10)) x)) (Matrix.vecCons.{u1} R (Nat.succ (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Prod.fst.{u1, u1} R R x) (Matrix.vecCons.{u1} R (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Prod.snd.{u1, u1} R R x) (Matrix.vecEmpty.{u1} R))) + forall {R : Type.{u1}} [_inst_10 : Semiring.{u1} R] (x : Prod.{u1, u1} R R), Eq.{succ u1} (forall (ᾰ : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))), (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => R) ᾰ) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => R) _x) (Finsupp.funLike.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) (Prod.{u1, u1} R R) (fun (_x : Prod.{u1, u1} R R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Prod.{u1, u1} R R) => Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) _x) (SMulHomClass.toFunLike.{u1, u1, u1, u1} (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (SMulZeroClass.toSMul.{u1, u1} R (Prod.{u1, u1} R R) (AddMonoid.toZero.{u1} (Prod.{u1, u1} R R) (AddCommMonoid.toAddMonoid.{u1} (Prod.{u1, u1} R R) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))))) (DistribSMul.toSMulZeroClass.{u1, u1} R (Prod.{u1, u1} R R) (AddMonoid.toAddZeroClass.{u1} (Prod.{u1, u1} R R) (AddCommMonoid.toAddMonoid.{u1} (Prod.{u1, u1} R R) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))))) (DistribMulAction.toDistribSMul.{u1, u1} R (Prod.{u1, u1} R R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10)) (AddCommMonoid.toAddMonoid.{u1} (Prod.{u1, u1} R R) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (Module.toDistribMulAction.{u1, u1} R (Prod.{u1, u1} R R) _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)))))) (SMulZeroClass.toSMul.{u1, u1} R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (AddMonoid.toZero.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (AddCommMonoid.toAddMonoid.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))))) (DistribSMul.toSMulZeroClass.{u1, u1} R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (AddMonoid.toAddZeroClass.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (AddCommMonoid.toAddMonoid.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))))) (DistribMulAction.toDistribSMul.{u1, u1} R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10)) (AddCommMonoid.toAddMonoid.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (Module.toDistribMulAction.{u1, u1} R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) _inst_10 (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10)))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u1, u1, u1} (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10)) (AddCommMonoid.toAddMonoid.{u1} (Prod.{u1, u1} R R) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (AddCommMonoid.toAddMonoid.{u1} (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))))) (Module.toDistribMulAction.{u1, u1} R (Prod.{u1, u1} R R) _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10))) (Module.toDistribMulAction.{u1, u1} R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) _inst_10 (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) (SemilinearMapClass.distribMulActionHomClass.{u1, u1, u1, u1} R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u1, u1, u1} R R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (LinearEquiv.{u1, u1, u1, u1} R R _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10))) _inst_10 _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u1, u1} R R (Prod.{u1, u1} R R) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_10))) _inst_10 _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)) (RingHomInvPair.ids.{u1} R _inst_10) (RingHomInvPair.ids.{u1} R _inst_10)))))) (Basis.repr.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (Prod.{u1, u1} R R) _inst_10 (Prod.instAddCommMonoidSum.{u1, u1} R R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10)))) (Prod.module.{u1, u1, u1} R R R _inst_10 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_10))) (Semiring.toModule.{u1} R _inst_10) (Semiring.toModule.{u1} R _inst_10)) (Basis.finTwoProd.{u1} R _inst_10)) x)) (Matrix.vecCons.{u1} R (Nat.succ (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Prod.fst.{u1, u1} R R x) (Matrix.vecCons.{u1} R (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Prod.snd.{u1, u1} R R x) (Matrix.vecEmpty.{u1} R))) Case conversion may be inaccurate. Consider using '#align basis.coe_fin_two_prod_repr Basis.coe_finTwoProd_reprₓ'. -/ @[simp] theorem coe_finTwoProd_repr {R : Type _} [Semiring R] (x : R × R) : diff --git a/Mathbin/LinearAlgebra/Basis/Bilinear.lean b/Mathbin/LinearAlgebra/Basis/Bilinear.lean index 4f3128684b..2d1118c887 100644 --- a/Mathbin/LinearAlgebra/Basis/Bilinear.lean +++ b/Mathbin/LinearAlgebra/Basis/Bilinear.lean @@ -61,7 +61,7 @@ theorem ext_basis {B B' : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁₂] P} (h : lean 3 declaration is forall {ι₁ : Type.{u1}} {ι₂ : Type.{u2}} {R : Type.{u3}} {R₂ : Type.{u4}} {S : Type.{u5}} {S₂ : Type.{u6}} {M : Type.{u7}} {N : Type.{u8}} {P : Type.{u9}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u5} S] [_inst_3 : CommSemiring.{u4} R₂] [_inst_4 : CommSemiring.{u6} S₂] [_inst_5 : AddCommMonoid.{u7} M] [_inst_6 : AddCommMonoid.{u8} N] [_inst_7 : AddCommMonoid.{u9} P] [_inst_11 : Module.{u3, u7} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_5] [_inst_12 : Module.{u5, u8} S N (CommSemiring.toSemiring.{u5} S _inst_2) _inst_6] [_inst_13 : Module.{u4, u9} R₂ P (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_7] [_inst_14 : Module.{u6, u9} S₂ P (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_7] [_inst_18 : SMulCommClass.{u6, u4, u9} S₂ R₂ P (SMulZeroClass.toHasSmul.{u6, u9} S₂ P (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (SMulWithZero.toSmulZeroClass.{u6, u9} S₂ P (MulZeroClass.toHasZero.{u6} S₂ (MulZeroOneClass.toMulZeroClass.{u6} S₂ (MonoidWithZero.toMulZeroOneClass.{u6} S₂ (Semiring.toMonoidWithZero.{u6} S₂ (CommSemiring.toSemiring.{u6} S₂ _inst_4))))) (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (MulActionWithZero.toSMulWithZero.{u6, u9} S₂ P (Semiring.toMonoidWithZero.{u6} S₂ (CommSemiring.toSemiring.{u6} S₂ _inst_4)) (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (Module.toMulActionWithZero.{u6, u9} S₂ P (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_7 _inst_14)))) (SMulZeroClass.toHasSmul.{u4, u9} R₂ P (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (SMulWithZero.toSmulZeroClass.{u4, u9} R₂ P (MulZeroClass.toHasZero.{u4} R₂ (MulZeroOneClass.toMulZeroClass.{u4} R₂ (MonoidWithZero.toMulZeroOneClass.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3))))) (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (MulActionWithZero.toSMulWithZero.{u4, u9} R₂ P (Semiring.toMonoidWithZero.{u4} R₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3)) (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (Module.toMulActionWithZero.{u4, u9} R₂ P (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_7 _inst_13))))] {ρ₁₂ : RingHom.{u3, u4} R R₂ (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} R₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3))} {σ₁₂ : RingHom.{u5, u6} S S₂ (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)) (Semiring.toNonAssocSemiring.{u6} S₂ (CommSemiring.toSemiring.{u6} S₂ _inst_4))} (b₁ : Basis.{u1, u3, u7} ι₁ R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_5 _inst_11) (b₂ : Basis.{u2, u5, u8} ι₂ S N (CommSemiring.toSemiring.{u5} S _inst_2) _inst_6 _inst_12) {B : LinearMap.{u3, u4, u7, max u8 u9} R R₂ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u4} R₂ _inst_3) ρ₁₂ M (LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _inst_5 (LinearMap.addCommMonoid.{u5, u6, u8, u9} S S₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.module.{u5, u6, u4, u8, u9} S S₂ R₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_13 _inst_18)} (x : M) (y : N), Eq.{succ u9} P (Finsupp.sum.{u1, u3, u9} ι₁ R P (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_7 (coeFn.{max (succ u7) (succ (max u1 u3)), max (succ u7) (succ (max u1 u3))} (LinearEquiv.{u3, u3, u7, max u1 u3} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι₁ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) _inst_5 (Finsupp.addCommMonoid.{u1, u3} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_11 (Finsupp.module.{u1, u3, u3} ι₁ R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (fun (_x : LinearEquiv.{u3, u3, u7, max u1 u3} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} ι₁ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) _inst_5 (Finsupp.addCommMonoid.{u1, u3} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_11 (Finsupp.module.{u1, u3, u3} ι₁ R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) => M -> (Finsupp.{u1, u3} ι₁ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (LinearEquiv.hasCoeToFun.{u3, u3, u7, max u1 u3} R R M (Finsupp.{u1, u3} ι₁ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_5 (Finsupp.addCommMonoid.{u1, u3} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_11 (Finsupp.module.{u1, u3, u3} ι₁ R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (Basis.repr.{u1, u3, u7} ι₁ R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_5 _inst_11 b₁) x) (fun (i : ι₁) (xi : R) => Finsupp.sum.{u2, u5, u9} ι₂ S P (MulZeroClass.toHasZero.{u5} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))))) _inst_7 (coeFn.{max (succ u8) (succ (max u2 u5)), max (succ u8) (succ (max u2 u5))} (LinearEquiv.{u5, u5, u8, max u2 u5} S S (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u5} S _inst_2) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))) (RingHomInvPair.ids.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)) N (Finsupp.{u2, u5} ι₂ S (MulZeroClass.toHasZero.{u5} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)))))) _inst_6 (Finsupp.addCommMonoid.{u2, u5} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))))) _inst_12 (Finsupp.module.{u2, u5, u5} ι₂ S S (CommSemiring.toSemiring.{u5} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)))) (Semiring.toModule.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)))) (fun (_x : LinearEquiv.{u5, u5, u8, max u2 u5} S S (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u5} S _inst_2) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))) (RingHomInvPair.ids.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)) N (Finsupp.{u2, u5} ι₂ S (MulZeroClass.toHasZero.{u5} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)))))) _inst_6 (Finsupp.addCommMonoid.{u2, u5} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))))) _inst_12 (Finsupp.module.{u2, u5, u5} ι₂ S S (CommSemiring.toSemiring.{u5} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)))) (Semiring.toModule.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)))) => N -> (Finsupp.{u2, u5} ι₂ S (MulZeroClass.toHasZero.{u5} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))))))) (LinearEquiv.hasCoeToFun.{u5, u5, u8, max u2 u5} S S N (Finsupp.{u2, u5} ι₂ S (MulZeroClass.toHasZero.{u5} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)))))) (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u5} S _inst_2) _inst_6 (Finsupp.addCommMonoid.{u2, u5} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))))) _inst_12 (Finsupp.module.{u2, u5, u5} ι₂ S S (CommSemiring.toSemiring.{u5} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)))) (Semiring.toModule.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))) (RingHomInvPair.ids.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2))) (Basis.repr.{u2, u5, u8} ι₂ S N (CommSemiring.toSemiring.{u5} S _inst_2) _inst_6 _inst_12 b₂) y) (fun (j : ι₂) (yj : S) => SMul.smul.{u4, u9} R₂ P (SMulZeroClass.toHasSmul.{u4, u9} R₂ P (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (SMulWithZero.toSmulZeroClass.{u4, u9} R₂ P (MulZeroClass.toHasZero.{u4} R₂ (MulZeroOneClass.toMulZeroClass.{u4} R₂ (MonoidWithZero.toMulZeroOneClass.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3))))) (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (MulActionWithZero.toSMulWithZero.{u4, u9} R₂ P (Semiring.toMonoidWithZero.{u4} R₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3)) (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (Module.toMulActionWithZero.{u4, u9} R₂ P (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_7 _inst_13)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (RingHom.{u3, u4} R R₂ (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} R₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3))) (fun (_x : RingHom.{u3, u4} R R₂ (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} R₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3))) => R -> R₂) (RingHom.hasCoeToFun.{u3, u4} R R₂ (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} R₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3))) ρ₁₂ xi) (SMul.smul.{u6, u9} S₂ P (SMulZeroClass.toHasSmul.{u6, u9} S₂ P (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (SMulWithZero.toSmulZeroClass.{u6, u9} S₂ P (MulZeroClass.toHasZero.{u6} S₂ (MulZeroOneClass.toMulZeroClass.{u6} S₂ (MonoidWithZero.toMulZeroOneClass.{u6} S₂ (Semiring.toMonoidWithZero.{u6} S₂ (CommSemiring.toSemiring.{u6} S₂ _inst_4))))) (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (MulActionWithZero.toSMulWithZero.{u6, u9} S₂ P (Semiring.toMonoidWithZero.{u6} S₂ (CommSemiring.toSemiring.{u6} S₂ _inst_4)) (AddZeroClass.toHasZero.{u9} P (AddMonoid.toAddZeroClass.{u9} P (AddCommMonoid.toAddMonoid.{u9} P _inst_7))) (Module.toMulActionWithZero.{u6, u9} S₂ P (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_7 _inst_14)))) (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (RingHom.{u5, u6} S S₂ (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)) (Semiring.toNonAssocSemiring.{u6} S₂ (CommSemiring.toSemiring.{u6} S₂ _inst_4))) (fun (_x : RingHom.{u5, u6} S S₂ (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)) (Semiring.toNonAssocSemiring.{u6} S₂ (CommSemiring.toSemiring.{u6} S₂ _inst_4))) => S -> S₂) (RingHom.hasCoeToFun.{u5, u6} S S₂ (Semiring.toNonAssocSemiring.{u5} S (CommSemiring.toSemiring.{u5} S _inst_2)) (Semiring.toNonAssocSemiring.{u6} S₂ (CommSemiring.toSemiring.{u6} S₂ _inst_4))) σ₁₂ yj) (coeFn.{max (succ u8) (succ u9), max (succ u8) (succ u9)} (LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) (fun (_x : LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) => N -> P) (LinearMap.hasCoeToFun.{u5, u6, u8, u9} S S₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) (coeFn.{max (succ u7) (succ (max u8 u9)), max (succ u7) (succ (max u8 u9))} (LinearMap.{u3, u4, u7, max u8 u9} R R₂ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u4} R₂ _inst_3) ρ₁₂ M (LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _inst_5 (LinearMap.addCommMonoid.{u5, u6, u8, u9} S S₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.module.{u5, u6, u4, u8, u9} S S₂ R₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_13 _inst_18)) (fun (_x : LinearMap.{u3, u4, u7, max u8 u9} R R₂ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u4} R₂ _inst_3) ρ₁₂ M (LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _inst_5 (LinearMap.addCommMonoid.{u5, u6, u8, u9} S S₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.module.{u5, u6, u4, u8, u9} S S₂ R₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_13 _inst_18)) => M -> (LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14)) (LinearMap.hasCoeToFun.{u3, u4, u7, max u8 u9} R R₂ M (LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_5 (LinearMap.addCommMonoid.{u5, u6, u8, u9} S S₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.module.{u5, u6, u4, u8, u9} S S₂ R₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_13 _inst_18) ρ₁₂) B (coeFn.{max (succ u1) (succ u3) (succ u7), max (succ u1) (succ u7)} (Basis.{u1, u3, u7} ι₁ R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_5 _inst_11) (fun (_x : Basis.{u1, u3, u7} ι₁ R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_5 _inst_11) => ι₁ -> M) (FunLike.hasCoeToFun.{max (succ u1) (succ u3) (succ u7), succ u1, succ u7} (Basis.{u1, u3, u7} ι₁ R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_5 _inst_11) ι₁ (fun (_x : ι₁) => M) (Basis.funLike.{u1, u3, u7} ι₁ R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_5 _inst_11)) b₁ i)) (coeFn.{max (succ u2) (succ u5) (succ u8), max (succ u2) (succ u8)} (Basis.{u2, u5, u8} ι₂ S N (CommSemiring.toSemiring.{u5} S _inst_2) _inst_6 _inst_12) (fun (_x : Basis.{u2, u5, u8} ι₂ S N (CommSemiring.toSemiring.{u5} S _inst_2) _inst_6 _inst_12) => ι₂ -> N) (FunLike.hasCoeToFun.{max (succ u2) (succ u5) (succ u8), succ u2, succ u8} (Basis.{u2, u5, u8} ι₂ S N (CommSemiring.toSemiring.{u5} S _inst_2) _inst_6 _inst_12) ι₂ (fun (_x : ι₂) => N) (Basis.funLike.{u2, u5, u8} ι₂ S N (CommSemiring.toSemiring.{u5} S _inst_2) _inst_6 _inst_12)) b₂ j)))))) (coeFn.{max (succ u8) (succ u9), max (succ u8) (succ u9)} (LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) (fun (_x : LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) => N -> P) (LinearMap.hasCoeToFun.{u5, u6, u8, u9} S S₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) (coeFn.{max (succ u7) (succ (max u8 u9)), max (succ u7) (succ (max u8 u9))} (LinearMap.{u3, u4, u7, max u8 u9} R R₂ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u4} R₂ _inst_3) ρ₁₂ M (LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _inst_5 (LinearMap.addCommMonoid.{u5, u6, u8, u9} S S₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.module.{u5, u6, u4, u8, u9} S S₂ R₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_13 _inst_18)) (fun (_x : LinearMap.{u3, u4, u7, max u8 u9} R R₂ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u4} R₂ _inst_3) ρ₁₂ M (LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _inst_5 (LinearMap.addCommMonoid.{u5, u6, u8, u9} S S₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.module.{u5, u6, u4, u8, u9} S S₂ R₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_13 _inst_18)) => M -> (LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14)) (LinearMap.hasCoeToFun.{u3, u4, u7, max u8 u9} R R₂ M (LinearMap.{u5, u6, u8, u9} S S₂ (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_5 (LinearMap.addCommMonoid.{u5, u6, u8, u9} S S₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.module.{u5, u6, u4, u8, u9} S S₂ R₂ N P (CommSemiring.toSemiring.{u5} S _inst_2) (CommSemiring.toSemiring.{u6} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u4} R₂ _inst_3) _inst_13 _inst_18) ρ₁₂) B x) y) but is expected to have type - forall {ι₁ : Type.{u2}} {ι₂ : Type.{u1}} {R : Type.{u9}} {R₂ : Type.{u8}} {S : Type.{u4}} {S₂ : Type.{u3}} {M : Type.{u7}} {N : Type.{u5}} {P : Type.{u6}} [_inst_1 : CommSemiring.{u9} R] [_inst_2 : CommSemiring.{u4} S] [_inst_3 : CommSemiring.{u8} R₂] [_inst_4 : CommSemiring.{u3} S₂] [_inst_5 : AddCommMonoid.{u7} M] [_inst_6 : AddCommMonoid.{u5} N] [_inst_7 : AddCommMonoid.{u6} P] [_inst_11 : Module.{u9, u7} R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5] [_inst_12 : Module.{u4, u5} S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6] [_inst_13 : Module.{u8, u6} R₂ P (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_7] [_inst_14 : Module.{u3, u6} S₂ P (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_7] [_inst_18 : SMulCommClass.{u3, u8, u6} S₂ R₂ P (SMulZeroClass.toSMul.{u3, u6} S₂ P (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (SMulWithZero.toSMulZeroClass.{u3, u6} S₂ P (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)) (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (MulActionWithZero.toSMulWithZero.{u3, u6} S₂ P (Semiring.toMonoidWithZero.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (Module.toMulActionWithZero.{u3, u6} S₂ P (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_7 _inst_14)))) (SMulZeroClass.toSMul.{u8, u6} R₂ P (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (SMulWithZero.toSMulZeroClass.{u8, u6} R₂ P (CommMonoidWithZero.toZero.{u8} R₂ (CommSemiring.toCommMonoidWithZero.{u8} R₂ _inst_3)) (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (MulActionWithZero.toSMulWithZero.{u8, u6} R₂ P (Semiring.toMonoidWithZero.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3)) (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (Module.toMulActionWithZero.{u8, u6} R₂ P (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_7 _inst_13))))] {ρ₁₂ : RingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))} {σ₁₂ : RingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))} (b₁ : Basis.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) (b₂ : Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) {B : LinearMap.{u9, u8, u7, max u6 u5} R R₂ (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u8} R₂ _inst_3) ρ₁₂ M (LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _inst_5 (LinearMap.addCommMonoid.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u3, u8, u5, u6} S S₂ R₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_13 _inst_18)} (x : M) (y : N), Eq.{succ u6} P (Finsupp.sum.{u2, u9, u6} ι₁ R P (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) _inst_7 (FunLike.coe.{max (max (succ u2) (succ u9)) (succ u7), succ u7, max (succ u2) (succ u9)} (LinearEquiv.{u9, u9, u7, max u9 u2} R R (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u2 u9) u7, u9, u7, max u2 u9} (LinearEquiv.{u9, u9, u7, max u9 u2} R R (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) R M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (SMulZeroClass.toSMul.{u9, u7} R M (AddMonoid.toZero.{u7} M (AddCommMonoid.toAddMonoid.{u7} M _inst_5)) (DistribSMul.toSMulZeroClass.{u9, u7} R M (AddMonoid.toAddZeroClass.{u7} M (AddCommMonoid.toAddMonoid.{u7} M _inst_5)) (DistribMulAction.toDistribSMul.{u9, u7} R M (MonoidWithZero.toMonoid.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (AddCommMonoid.toAddMonoid.{u7} M _inst_5) (Module.toDistribMulAction.{u9, u7} R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11)))) (SMulZeroClass.toSMul.{u9, max u2 u9} R (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (AddMonoid.toZero.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u9, max u2 u9} R (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u9, max u2 u9} R (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (MonoidWithZero.toMonoid.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))))) (Module.toDistribMulAction.{u9, max u2 u9} R (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (CommSemiring.toSemiring.{u9} R _inst_1) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u9) u7, u9, u7, max u2 u9} (LinearEquiv.{u9, u9, u7, max u9 u2} R R (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) R M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (MonoidWithZero.toMonoid.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (AddCommMonoid.toAddMonoid.{u7} M _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))))) (Module.toDistribMulAction.{u9, u7} R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) (Module.toDistribMulAction.{u9, max u2 u9} R (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (CommSemiring.toSemiring.{u9} R _inst_1) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u9, u7, max u2 u9, max (max u2 u9) u7} R M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (LinearEquiv.{u9, u9, u7, max u9 u2} R R (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u9, u9, u7, max u2 u9, max (max u2 u9) u7} R R M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (LinearEquiv.{u9, u9, u7, max u9 u2} R R (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u9, u9, u7, max u2 u9} R R M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))))) (Basis.repr.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11 b₁) x) (fun (i : ι₁) (xi : R) => Finsupp.sum.{u1, u4, u6} ι₂ S P (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) _inst_7 (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u5, max (succ u1) (succ u4)} (LinearEquiv.{u4, u4, u5, max u4 u1} S S (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _x) (SMulHomClass.toFunLike.{max (max u1 u4) u5, u4, u5, max u1 u4} (LinearEquiv.{u4, u4, u5, max u4 u1} S S (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) S N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (SMulZeroClass.toSMul.{u4, u5} S N (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_6)) (DistribSMul.toSMulZeroClass.{u4, u5} S N (AddMonoid.toAddZeroClass.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_6)) (DistribMulAction.toDistribSMul.{u4, u5} S N (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (AddCommMonoid.toAddMonoid.{u5} N _inst_6) (Module.toDistribMulAction.{u4, u5} S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12)))) (SMulZeroClass.toSMul.{u4, max u1 u4} S (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (AddMonoid.toZero.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u4} S (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u4} S (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))))) (Module.toDistribMulAction.{u4, max u1 u4} S (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (CommSemiring.toSemiring.{u4} S _inst_2) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u4) u5, u4, u5, max u1 u4} (LinearEquiv.{u4, u4, u5, max u4 u1} S S (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) S N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (AddCommMonoid.toAddMonoid.{u5} N _inst_6) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))))) (Module.toDistribMulAction.{u4, u5} S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) (Module.toDistribMulAction.{u4, max u1 u4} S (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (CommSemiring.toSemiring.{u4} S _inst_2) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (SemilinearMapClass.distribMulActionHomClass.{u4, u5, max u1 u4, max (max u1 u4) u5} S N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (LinearEquiv.{u4, u4, u5, max u4 u1} S S (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u5, max u1 u4, max (max u1 u4) u5} S S N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (LinearEquiv.{u4, u4, u5, max u4 u1} S S (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u5, max u1 u4} S S N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))))) (Basis.repr.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12 b₂) y) (fun (j : ι₂) (yj : S) => HSMul.hSMul.{u8, u6, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (instHSMul.{u8, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (SMulZeroClass.toSMul.{u8, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (SMulWithZero.toSMulZeroClass.{u8, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (CommMonoidWithZero.toZero.{u8} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) (CommSemiring.toCommMonoidWithZero.{u8} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) _inst_3)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (MulActionWithZero.toSMulWithZero.{u8, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (Semiring.toMonoidWithZero.{u8} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) (CommSemiring.toSemiring.{u8} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) _inst_3)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (Module.toMulActionWithZero.{u8, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (CommSemiring.toSemiring.{u8} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) _inst_3) _inst_7 _inst_13))))) (FunLike.coe.{max (succ u9) (succ u8), succ u9, succ u8} (RingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) _x) (MulHomClass.toFunLike.{max u9 u8, u9, u8} (RingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))) R R₂ (NonUnitalNonAssocSemiring.toMul.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u8} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} R₂ (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u9 u8, u9, u8} (RingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))) R R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} R₂ (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u9 u8, u9, u8} (RingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))) R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3)))))) ρ₁₂ xi) (HSMul.hSMul.{u3, u6, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (instHSMul.{u3, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (SMulZeroClass.toSMul.{u3, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (SMulWithZero.toSMulZeroClass.{u3, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) _inst_4)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (MulActionWithZero.toSMulWithZero.{u3, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) _inst_4)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (Module.toMulActionWithZero.{u3, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) _inst_4) _inst_7 _inst_14))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) S S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) S S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) σ₁₂ yj) (FunLike.coe.{max (succ u5) (succ u6), succ u5, succ u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) (FunLike.coe.{max (max (succ u2) (succ u9)) (succ u7), succ u2, succ u7} (Basis.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) ι₁ (fun (a : ι₁) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₁) => M) a) (Basis.funLike.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) b₁ i)) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) (FunLike.coe.{max (max (succ u7) (succ u5)) (succ u6), succ u7, max (succ u5) (succ u6)} (LinearMap.{u9, u8, u7, max u6 u5} R R₂ (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u8} R₂ _inst_3) ρ₁₂ M (LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _inst_5 (LinearMap.addCommMonoid.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u3, u8, u5, u6} S S₂ R₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_13 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _x) (LinearMap.instFunLikeLinearMap.{u9, u8, u7, max u5 u6} R R₂ M (LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_5 (LinearMap.addCommMonoid.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u3, u8, u5, u6} S S₂ R₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_13 _inst_18) ρ₁₂) B (FunLike.coe.{max (max (succ u2) (succ u9)) (succ u7), succ u2, succ u7} (Basis.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) ι₁ (fun (_x : ι₁) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₁) => M) _x) (Basis.funLike.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) b₁ i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (_x : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) _x) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)))))) (FunLike.coe.{max (succ u5) (succ u6), succ u5, succ u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) x) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) (FunLike.coe.{max (max (succ u7) (succ u5)) (succ u6), succ u7, max (succ u5) (succ u6)} (LinearMap.{u9, u8, u7, max u6 u5} R R₂ (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u8} R₂ _inst_3) ρ₁₂ M (LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _inst_5 (LinearMap.addCommMonoid.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u3, u8, u5, u6} S S₂ R₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_13 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _x) (LinearMap.instFunLikeLinearMap.{u9, u8, u7, max u5 u6} R R₂ M (LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_5 (LinearMap.addCommMonoid.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u3, u8, u5, u6} S S₂ R₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_13 _inst_18) ρ₁₂) B x) y) + forall {ι₁ : Type.{u2}} {ι₂ : Type.{u1}} {R : Type.{u9}} {R₂ : Type.{u8}} {S : Type.{u4}} {S₂ : Type.{u3}} {M : Type.{u7}} {N : Type.{u5}} {P : Type.{u6}} [_inst_1 : CommSemiring.{u9} R] [_inst_2 : CommSemiring.{u4} S] [_inst_3 : CommSemiring.{u8} R₂] [_inst_4 : CommSemiring.{u3} S₂] [_inst_5 : AddCommMonoid.{u7} M] [_inst_6 : AddCommMonoid.{u5} N] [_inst_7 : AddCommMonoid.{u6} P] [_inst_11 : Module.{u9, u7} R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5] [_inst_12 : Module.{u4, u5} S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6] [_inst_13 : Module.{u8, u6} R₂ P (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_7] [_inst_14 : Module.{u3, u6} S₂ P (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_7] [_inst_18 : SMulCommClass.{u3, u8, u6} S₂ R₂ P (SMulZeroClass.toSMul.{u3, u6} S₂ P (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (SMulWithZero.toSMulZeroClass.{u3, u6} S₂ P (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)) (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (MulActionWithZero.toSMulWithZero.{u3, u6} S₂ P (Semiring.toMonoidWithZero.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (Module.toMulActionWithZero.{u3, u6} S₂ P (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_7 _inst_14)))) (SMulZeroClass.toSMul.{u8, u6} R₂ P (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (SMulWithZero.toSMulZeroClass.{u8, u6} R₂ P (CommMonoidWithZero.toZero.{u8} R₂ (CommSemiring.toCommMonoidWithZero.{u8} R₂ _inst_3)) (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (MulActionWithZero.toSMulWithZero.{u8, u6} R₂ P (Semiring.toMonoidWithZero.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3)) (AddMonoid.toZero.{u6} P (AddCommMonoid.toAddMonoid.{u6} P _inst_7)) (Module.toMulActionWithZero.{u8, u6} R₂ P (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_7 _inst_13))))] {ρ₁₂ : RingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))} {σ₁₂ : RingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))} (b₁ : Basis.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) (b₂ : Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) {B : LinearMap.{u9, u8, u7, max u6 u5} R R₂ (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u8} R₂ _inst_3) ρ₁₂ M (LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _inst_5 (LinearMap.addCommMonoid.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u3, u8, u5, u6} S S₂ R₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_13 _inst_18)} (x : M) (y : N), Eq.{succ u6} P (Finsupp.sum.{u2, u9, u6} ι₁ R P (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) _inst_7 (FunLike.coe.{max (max (succ u2) (succ u9)) (succ u7), succ u7, max (succ u2) (succ u9)} (LinearEquiv.{u9, u9, u7, max u9 u2} R R (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.module.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u2 u9) u7, u9, u7, max u2 u9} (LinearEquiv.{u9, u9, u7, max u9 u2} R R (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.module.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) R M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (SMulZeroClass.toSMul.{u9, u7} R M (AddMonoid.toZero.{u7} M (AddCommMonoid.toAddMonoid.{u7} M _inst_5)) (DistribSMul.toSMulZeroClass.{u9, u7} R M (AddMonoid.toAddZeroClass.{u7} M (AddCommMonoid.toAddMonoid.{u7} M _inst_5)) (DistribMulAction.toDistribSMul.{u9, u7} R M (MonoidWithZero.toMonoid.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (AddCommMonoid.toAddMonoid.{u7} M _inst_5) (Module.toDistribMulAction.{u9, u7} R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11)))) (SMulZeroClass.toSMul.{u9, max u2 u9} R (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (AddMonoid.toZero.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u9, max u2 u9} R (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u9, max u2 u9} R (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (MonoidWithZero.toMonoid.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))))) (Module.toDistribMulAction.{u9, max u2 u9} R (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (CommSemiring.toSemiring.{u9} R _inst_1) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) (Finsupp.module.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u9) u7, u9, u7, max u2 u9} (LinearEquiv.{u9, u9, u7, max u9 u2} R R (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.module.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) R M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (MonoidWithZero.toMonoid.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (AddCommMonoid.toAddMonoid.{u7} M _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u9} (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))))) (Module.toDistribMulAction.{u9, u7} R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) (Module.toDistribMulAction.{u9, max u2 u9} R (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (CommSemiring.toSemiring.{u9} R _inst_1) (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) (Finsupp.module.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u9, u7, max u2 u9, max (max u2 u9) u7} R M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (LinearEquiv.{u9, u9, u7, max u9 u2} R R (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.module.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.module.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u9, u9, u7, max u2 u9, max (max u2 u9) u7} R R M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (LinearEquiv.{u9, u9, u7, max u9 u2} R R (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.module.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.module.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u9, u9, u7, max u2 u9} R R M (Finsupp.{u2, u9} ι₁ R (MonoidWithZero.toZero.{u9} R (Semiring.toMonoidWithZero.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 (Finsupp.addCommMonoid.{u2, u9} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))) _inst_11 (Finsupp.module.{u2, u9, u9} ι₁ R R (CommSemiring.toSemiring.{u9} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (Semiring.toModule.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHom.id.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (RingHomInvPair.ids.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))))))) (Basis.repr.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11 b₁) x) (fun (i : ι₁) (xi : R) => Finsupp.sum.{u1, u4, u6} ι₂ S P (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) _inst_7 (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u5, max (succ u1) (succ u4)} (LinearEquiv.{u4, u4, u5, max u4 u1} S S (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.module.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _x) (SMulHomClass.toFunLike.{max (max u1 u4) u5, u4, u5, max u1 u4} (LinearEquiv.{u4, u4, u5, max u4 u1} S S (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.module.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) S N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (SMulZeroClass.toSMul.{u4, u5} S N (AddMonoid.toZero.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_6)) (DistribSMul.toSMulZeroClass.{u4, u5} S N (AddMonoid.toAddZeroClass.{u5} N (AddCommMonoid.toAddMonoid.{u5} N _inst_6)) (DistribMulAction.toDistribSMul.{u4, u5} S N (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (AddCommMonoid.toAddMonoid.{u5} N _inst_6) (Module.toDistribMulAction.{u4, u5} S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12)))) (SMulZeroClass.toSMul.{u4, max u1 u4} S (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (AddMonoid.toZero.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u4} S (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u4} S (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))))) (Module.toDistribMulAction.{u4, max u1 u4} S (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (CommSemiring.toSemiring.{u4} S _inst_2) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) (Finsupp.module.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u4) u5, u4, u5, max u1 u4} (LinearEquiv.{u4, u4, u5, max u4 u1} S S (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.module.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) S N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (MonoidWithZero.toMonoid.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (AddCommMonoid.toAddMonoid.{u5} N _inst_6) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))))) (Module.toDistribMulAction.{u4, u5} S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) (Module.toDistribMulAction.{u4, max u1 u4} S (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (CommSemiring.toSemiring.{u4} S _inst_2) (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) (Finsupp.module.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (SemilinearMapClass.distribMulActionHomClass.{u4, u5, max u1 u4, max (max u1 u4) u5} S N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (LinearEquiv.{u4, u4, u5, max u4 u1} S S (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.module.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.module.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u5, max u1 u4, max (max u1 u4) u5} S S N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (LinearEquiv.{u4, u4, u5, max u4 u1} S S (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.module.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.module.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u5, max u1 u4} S S N (Finsupp.{u1, u4} ι₂ S (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 (Finsupp.addCommMonoid.{u1, u4} ι₂ S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))) _inst_12 (Finsupp.module.{u1, u4, u4} ι₂ S S (CommSemiring.toSemiring.{u4} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (Semiring.toModule.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHomInvPair.ids.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))))))) (Basis.repr.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12 b₂) y) (fun (j : ι₂) (yj : S) => HSMul.hSMul.{u8, u6, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (instHSMul.{u8, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (SMulZeroClass.toSMul.{u8, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (SMulWithZero.toSMulZeroClass.{u8, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (CommMonoidWithZero.toZero.{u8} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) (CommSemiring.toCommMonoidWithZero.{u8} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) _inst_3)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (MulActionWithZero.toSMulWithZero.{u8, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (Semiring.toMonoidWithZero.{u8} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) (CommSemiring.toSemiring.{u8} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) _inst_3)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (Module.toMulActionWithZero.{u8, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (CommSemiring.toSemiring.{u8} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) xi) _inst_3) _inst_7 _inst_13))))) (FunLike.coe.{max (succ u9) (succ u8), succ u9, succ u8} (RingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => R₂) _x) (MulHomClass.toFunLike.{max u9 u8, u9, u8} (RingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))) R R₂ (NonUnitalNonAssocSemiring.toMul.{u9} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u8} R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} R₂ (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u9 u8, u9, u8} (RingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))) R R₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u9} R (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} R₂ (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u9 u8, u9, u8} (RingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3))) R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u9, u8} R R₂ (Semiring.toNonAssocSemiring.{u9} R (CommSemiring.toSemiring.{u9} R _inst_1)) (Semiring.toNonAssocSemiring.{u8} R₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3)))))) ρ₁₂ xi) (HSMul.hSMul.{u3, u6, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (instHSMul.{u3, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (SMulZeroClass.toSMul.{u3, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (SMulWithZero.toSMulZeroClass.{u3, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) _inst_4)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (MulActionWithZero.toSMulWithZero.{u3, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) _inst_4)) (AddMonoid.toZero.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (AddCommMonoid.toAddMonoid.{u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) _inst_7)) (Module.toMulActionWithZero.{u3, u6} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) a) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) yj) _inst_4) _inst_7 _inst_14))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => S₂) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) S S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) S S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u4, u3} S S₂ (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) σ₁₂ yj) (FunLike.coe.{max (succ u5) (succ u6), succ u5, succ u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) (FunLike.coe.{max (max (succ u2) (succ u9)) (succ u7), succ u2, succ u7} (Basis.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) ι₁ (fun (a : ι₁) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₁) => M) a) (Basis.funLike.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) b₁ i)) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) (FunLike.coe.{max (max (succ u7) (succ u5)) (succ u6), succ u7, max (succ u5) (succ u6)} (LinearMap.{u9, u8, u7, max u6 u5} R R₂ (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u8} R₂ _inst_3) ρ₁₂ M (LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _inst_5 (LinearMap.addCommMonoid.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u3, u8, u5, u6} S S₂ R₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_13 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _x) (LinearMap.instFunLikeLinearMap.{u9, u8, u7, max u5 u6} R R₂ M (LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_5 (LinearMap.addCommMonoid.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u3, u8, u5, u6} S S₂ R₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_13 _inst_18) ρ₁₂) B (FunLike.coe.{max (max (succ u2) (succ u9)) (succ u7), succ u2, succ u7} (Basis.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) ι₁ (fun (_x : ι₁) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₁) => M) _x) (Basis.funLike.{u2, u9, u7} ι₁ R M (CommSemiring.toSemiring.{u9} R _inst_1) _inst_5 _inst_11) b₁ i)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u5), succ u1, succ u5} (Basis.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) ι₂ (fun (_x : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => N) _x) (Basis.funLike.{u1, u4, u5} ι₂ S N (CommSemiring.toSemiring.{u4} S _inst_2) _inst_6 _inst_12) b₂ j)))))) (FunLike.coe.{max (succ u5) (succ u6), succ u5, succ u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) x) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N) => P) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) (FunLike.coe.{max (max (succ u7) (succ u5)) (succ u6), succ u7, max (succ u5) (succ u6)} (LinearMap.{u9, u8, u7, max u6 u5} R R₂ (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u8} R₂ _inst_3) ρ₁₂ M (LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _inst_5 (LinearMap.addCommMonoid.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u3, u8, u5, u6} S S₂ R₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_13 _inst_18)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) _x) (LinearMap.instFunLikeLinearMap.{u9, u8, u7, max u5 u6} R R₂ M (LinearMap.{u4, u3, u5, u6} S S₂ (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) σ₁₂ N P _inst_6 _inst_7 _inst_12 _inst_14) (CommSemiring.toSemiring.{u9} R _inst_1) (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_5 (LinearMap.addCommMonoid.{u4, u3, u5, u6} S S₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂) _inst_11 (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u3, u8, u5, u6} S S₂ R₂ N P (CommSemiring.toSemiring.{u4} S _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_6 _inst_7 _inst_12 _inst_14 σ₁₂ (CommSemiring.toSemiring.{u8} R₂ _inst_3) _inst_13 _inst_18) ρ₁₂) B x) y) Case conversion may be inaccurate. Consider using '#align linear_map.sum_repr_mul_repr_mulₛₗ LinearMap.sum_repr_mul_repr_mulₛₗₓ'. -/ /-- Write out `B x y` as a sum over `B (b i) (b j)` if `b` is a basis. @@ -79,7 +79,7 @@ theorem sum_repr_mul_repr_mulₛₗ {B : M →ₛₗ[ρ₁₂] N →ₛₗ[σ₁ lean 3 declaration is forall {ι₁ : Type.{u1}} {ι₂ : Type.{u2}} {R : Type.{u3}} {Mₗ : Type.{u4}} {Nₗ : Type.{u5}} {Pₗ : Type.{u6}} [_inst_1 : CommSemiring.{u3} R] [_inst_8 : AddCommMonoid.{u4} Mₗ] [_inst_9 : AddCommMonoid.{u5} Nₗ] [_inst_10 : AddCommMonoid.{u6} Pₗ] [_inst_15 : Module.{u3, u4} R Mₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_8] [_inst_16 : Module.{u3, u5} R Nₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9] [_inst_17 : Module.{u3, u6} R Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_10] (b₁' : Basis.{u1, u3, u4} ι₁ R Mₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_8 _inst_15) (b₂' : Basis.{u2, u3, u5} ι₂ R Nₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_16) {B : LinearMap.{u3, u3, u4, max u5 u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Mₗ (LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _inst_8 (LinearMap.addCommMonoid.{u3, u3, u5, u6} R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_15 (LinearMap.module.{u3, u3, u3, u5, u6} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_17 (smulCommClass_self.{u3, u6} R Pₗ (CommSemiring.toCommMonoid.{u3} R _inst_1) (MulActionWithZero.toMulAction.{u3, u6} R Pₗ (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (Module.toMulActionWithZero.{u3, u6} R Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_10 _inst_17))))} (x : Mₗ) (y : Nₗ), Eq.{succ u6} Pₗ (Finsupp.sum.{u1, u3, u6} ι₁ R Pₗ (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_10 (coeFn.{max (succ u4) (succ (max u1 u3)), max (succ u4) (succ (max u1 u3))} (LinearEquiv.{u3, u3, u4, max u1 u3} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) Mₗ (Finsupp.{u1, u3} ι₁ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) _inst_8 (Finsupp.addCommMonoid.{u1, u3} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_15 (Finsupp.module.{u1, u3, u3} ι₁ R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (fun (_x : LinearEquiv.{u3, u3, u4, max u1 u3} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) Mₗ (Finsupp.{u1, u3} ι₁ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) _inst_8 (Finsupp.addCommMonoid.{u1, u3} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_15 (Finsupp.module.{u1, u3, u3} ι₁ R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) => Mₗ -> (Finsupp.{u1, u3} ι₁ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (LinearEquiv.hasCoeToFun.{u3, u3, u4, max u1 u3} R R Mₗ (Finsupp.{u1, u3} ι₁ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_8 (Finsupp.addCommMonoid.{u1, u3} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_15 (Finsupp.module.{u1, u3, u3} ι₁ R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (Basis.repr.{u1, u3, u4} ι₁ R Mₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_8 _inst_15 b₁') x) (fun (i : ι₁) (xi : R) => Finsupp.sum.{u2, u3, u6} ι₂ R Pₗ (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_10 (coeFn.{max (succ u5) (succ (max u2 u3)), max (succ u5) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u5, max u2 u3} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) Nₗ (Finsupp.{u2, u3} ι₂ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) _inst_9 (Finsupp.addCommMonoid.{u2, u3} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_16 (Finsupp.module.{u2, u3, u3} ι₂ R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (fun (_x : LinearEquiv.{u3, u3, u5, max u2 u3} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) Nₗ (Finsupp.{u2, u3} ι₂ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) _inst_9 (Finsupp.addCommMonoid.{u2, u3} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_16 (Finsupp.module.{u2, u3, u3} ι₂ R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) => Nₗ -> (Finsupp.{u2, u3} ι₂ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))) (LinearEquiv.hasCoeToFun.{u3, u3, u5, max u2 u3} R R Nₗ (Finsupp.{u2, u3} ι₂ R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 (Finsupp.addCommMonoid.{u2, u3} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_16 (Finsupp.module.{u2, u3, u3} ι₂ R R (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (Basis.repr.{u2, u3, u5} ι₂ R Nₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_16 b₂') y) (fun (j : ι₂) (yj : R) => SMul.smul.{u3, u6} R Pₗ (SMulZeroClass.toHasSmul.{u3, u6} R Pₗ (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (SMulWithZero.toSmulZeroClass.{u3, u6} R Pₗ (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (MulActionWithZero.toSMulWithZero.{u3, u6} R Pₗ (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (Module.toMulActionWithZero.{u3, u6} R Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_10 _inst_17)))) xi (SMul.smul.{u3, u6} R Pₗ (SMulZeroClass.toHasSmul.{u3, u6} R Pₗ (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (SMulWithZero.toSmulZeroClass.{u3, u6} R Pₗ (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (MulActionWithZero.toSMulWithZero.{u3, u6} R Pₗ (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (Module.toMulActionWithZero.{u3, u6} R Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_10 _inst_17)))) yj (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) (fun (_x : LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) => Nₗ -> Pₗ) (LinearMap.hasCoeToFun.{u3, u3, u5, u6} R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (coeFn.{max (succ u4) (succ (max u5 u6)), max (succ u4) (succ (max u5 u6))} (LinearMap.{u3, u3, u4, max u5 u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Mₗ (LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _inst_8 (LinearMap.addCommMonoid.{u3, u3, u5, u6} R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_15 (LinearMap.module.{u3, u3, u3, u5, u6} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_17 (smulCommClass_self.{u3, u6} R Pₗ (CommSemiring.toCommMonoid.{u3} R _inst_1) (MulActionWithZero.toMulAction.{u3, u6} R Pₗ (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (Module.toMulActionWithZero.{u3, u6} R Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_10 _inst_17))))) (fun (_x : LinearMap.{u3, u3, u4, max u5 u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Mₗ (LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _inst_8 (LinearMap.addCommMonoid.{u3, u3, u5, u6} R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_15 (LinearMap.module.{u3, u3, u3, u5, u6} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_17 (smulCommClass_self.{u3, u6} R Pₗ (CommSemiring.toCommMonoid.{u3} R _inst_1) (MulActionWithZero.toMulAction.{u3, u6} R Pₗ (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (Module.toMulActionWithZero.{u3, u6} R Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_10 _inst_17))))) => Mₗ -> (LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17)) (LinearMap.hasCoeToFun.{u3, u3, u4, max u5 u6} R R Mₗ (LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_8 (LinearMap.addCommMonoid.{u3, u3, u5, u6} R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_15 (LinearMap.module.{u3, u3, u3, u5, u6} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_17 (smulCommClass_self.{u3, u6} R Pₗ (CommSemiring.toCommMonoid.{u3} R _inst_1) (MulActionWithZero.toMulAction.{u3, u6} R Pₗ (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (Module.toMulActionWithZero.{u3, u6} R Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_10 _inst_17)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) B (coeFn.{max (succ u1) (succ u3) (succ u4), max (succ u1) (succ u4)} (Basis.{u1, u3, u4} ι₁ R Mₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_8 _inst_15) (fun (_x : Basis.{u1, u3, u4} ι₁ R Mₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_8 _inst_15) => ι₁ -> Mₗ) (FunLike.hasCoeToFun.{max (succ u1) (succ u3) (succ u4), succ u1, succ u4} (Basis.{u1, u3, u4} ι₁ R Mₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_8 _inst_15) ι₁ (fun (_x : ι₁) => Mₗ) (Basis.funLike.{u1, u3, u4} ι₁ R Mₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_8 _inst_15)) b₁' i)) (coeFn.{max (succ u2) (succ u3) (succ u5), max (succ u2) (succ u5)} (Basis.{u2, u3, u5} ι₂ R Nₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_16) (fun (_x : Basis.{u2, u3, u5} ι₂ R Nₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_16) => ι₂ -> Nₗ) (FunLike.hasCoeToFun.{max (succ u2) (succ u3) (succ u5), succ u2, succ u5} (Basis.{u2, u3, u5} ι₂ R Nₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_16) ι₂ (fun (_x : ι₂) => Nₗ) (Basis.funLike.{u2, u3, u5} ι₂ R Nₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_16)) b₂' j)))))) (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) (fun (_x : LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) => Nₗ -> Pₗ) (LinearMap.hasCoeToFun.{u3, u3, u5, u6} R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (coeFn.{max (succ u4) (succ (max u5 u6)), max (succ u4) (succ (max u5 u6))} (LinearMap.{u3, u3, u4, max u5 u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Mₗ (LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _inst_8 (LinearMap.addCommMonoid.{u3, u3, u5, u6} R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_15 (LinearMap.module.{u3, u3, u3, u5, u6} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_17 (smulCommClass_self.{u3, u6} R Pₗ (CommSemiring.toCommMonoid.{u3} R _inst_1) (MulActionWithZero.toMulAction.{u3, u6} R Pₗ (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (Module.toMulActionWithZero.{u3, u6} R Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_10 _inst_17))))) (fun (_x : LinearMap.{u3, u3, u4, max u5 u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Mₗ (LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _inst_8 (LinearMap.addCommMonoid.{u3, u3, u5, u6} R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_15 (LinearMap.module.{u3, u3, u3, u5, u6} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_17 (smulCommClass_self.{u3, u6} R Pₗ (CommSemiring.toCommMonoid.{u3} R _inst_1) (MulActionWithZero.toMulAction.{u3, u6} R Pₗ (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (Module.toMulActionWithZero.{u3, u6} R Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_10 _inst_17))))) => Mₗ -> (LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17)) (LinearMap.hasCoeToFun.{u3, u3, u4, max u5 u6} R R Mₗ (LinearMap.{u3, u3, u5, u6} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_8 (LinearMap.addCommMonoid.{u3, u3, u5, u6} R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_15 (LinearMap.module.{u3, u3, u3, u5, u6} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R _inst_1) _inst_17 (smulCommClass_self.{u3, u6} R Pₗ (CommSemiring.toCommMonoid.{u3} R _inst_1) (MulActionWithZero.toMulAction.{u3, u6} R Pₗ (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (AddZeroClass.toHasZero.{u6} Pₗ (AddMonoid.toAddZeroClass.{u6} Pₗ (AddCommMonoid.toAddMonoid.{u6} Pₗ _inst_10))) (Module.toMulActionWithZero.{u3, u6} R Pₗ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_10 _inst_17)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) B x) y) but is expected to have type - forall {ι₁ : Type.{u2}} {ι₂ : Type.{u1}} {R : Type.{u6}} {Mₗ : Type.{u5}} {Nₗ : Type.{u3}} {Pₗ : Type.{u4}} [_inst_1 : CommSemiring.{u6} R] [_inst_8 : AddCommMonoid.{u5} Mₗ] [_inst_9 : AddCommMonoid.{u3} Nₗ] [_inst_10 : AddCommMonoid.{u4} Pₗ] [_inst_15 : Module.{u6, u5} R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8] [_inst_16 : Module.{u6, u3} R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9] [_inst_17 : Module.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10] (b₁' : Basis.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) (b₂' : Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) {B : LinearMap.{u6, u6, u5, max u4 u3} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Mₗ (LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _inst_8 (LinearMap.addCommMonoid.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_15 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u3, u4} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_17 (smulCommClass_self.{u6, u4} R Pₗ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u4} R Pₗ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} Pₗ (AddCommMonoid.toAddMonoid.{u4} Pₗ _inst_10)) (Module.toMulActionWithZero.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17))))} (x : Mₗ) (y : Nₗ), Eq.{succ u4} Pₗ (Finsupp.sum.{u2, u6, u4} ι₁ R Pₗ (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) _inst_10 (FunLike.coe.{max (max (succ u2) (succ u6)) (succ u5), succ u5, max (succ u2) (succ u6)} (LinearEquiv.{u6, u6, u5, max u6 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) Mₗ (fun (_x : Mₗ) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Mₗ) => Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u2 u6) u5, u6, u5, max u2 u6} (LinearEquiv.{u6, u6, u5, max u6 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) R Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (SMulZeroClass.toSMul.{u6, u5} R Mₗ (AddMonoid.toZero.{u5} Mₗ (AddCommMonoid.toAddMonoid.{u5} Mₗ _inst_8)) (DistribSMul.toSMulZeroClass.{u6, u5} R Mₗ (AddMonoid.toAddZeroClass.{u5} Mₗ (AddCommMonoid.toAddMonoid.{u5} Mₗ _inst_8)) (DistribMulAction.toDistribSMul.{u6, u5} R Mₗ (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{u5} Mₗ _inst_8) (Module.toDistribMulAction.{u6, u5} R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15)))) (SMulZeroClass.toSMul.{u6, max u2 u6} R (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddMonoid.toZero.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u6, max u2 u6} R (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u6, max u2 u6} R (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))))) (Module.toDistribMulAction.{u6, max u2 u6} R (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u6) u5, u6, u5, max u2 u6} (LinearEquiv.{u6, u6, u5, max u6 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) R Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{u5} Mₗ _inst_8) (AddCommMonoid.toAddMonoid.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))))) (Module.toDistribMulAction.{u6, u5} R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) (Module.toDistribMulAction.{u6, max u2 u6} R (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u6, u5, max u2 u6, max (max u2 u6) u5} R Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (LinearEquiv.{u6, u6, u5, max u6 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u6, u6, u5, max u2 u6, max (max u2 u6) u5} R R Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (LinearEquiv.{u6, u6, u5, max u6 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u6, u6, u5, max u2 u6} R R Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (Basis.repr.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15 b₁') x) (fun (i : ι₁) (xi : R) => Finsupp.sum.{u1, u6, u4} ι₂ R Pₗ (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) _inst_10 (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u3, max (succ u1) (succ u6)} (LinearEquiv.{u6, u6, u3, max u6 u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) Nₗ (fun (_x : Nₗ) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Nₗ) => Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u6) u3, u6, u3, max u1 u6} (LinearEquiv.{u6, u6, u3, max u6 u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) R Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (SMulZeroClass.toSMul.{u6, u3} R Nₗ (AddMonoid.toZero.{u3} Nₗ (AddCommMonoid.toAddMonoid.{u3} Nₗ _inst_9)) (DistribSMul.toSMulZeroClass.{u6, u3} R Nₗ (AddMonoid.toAddZeroClass.{u3} Nₗ (AddCommMonoid.toAddMonoid.{u3} Nₗ _inst_9)) (DistribMulAction.toDistribSMul.{u6, u3} R Nₗ (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} Nₗ _inst_9) (Module.toDistribMulAction.{u6, u3} R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16)))) (SMulZeroClass.toSMul.{u6, max u1 u6} R (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddMonoid.toZero.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u6, max u1 u6} R (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u6, max u1 u6} R (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))))) (Module.toDistribMulAction.{u6, max u1 u6} R (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u6) u3, u6, u3, max u1 u6} (LinearEquiv.{u6, u6, u3, max u6 u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) R Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} Nₗ _inst_9) (AddCommMonoid.toAddMonoid.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))))) (Module.toDistribMulAction.{u6, u3} R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) (Module.toDistribMulAction.{u6, max u1 u6} R (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u6, u3, max u1 u6, max (max u1 u6) u3} R Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (LinearEquiv.{u6, u6, u3, max u6 u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u6, u6, u3, max u1 u6, max (max u1 u6) u3} R R Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (LinearEquiv.{u6, u6, u3, max u6 u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u6, u6, u3, max u1 u6} R R Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (Basis.repr.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16 b₂') y) (fun (j : ι₂) (yj : R) => HSMul.hSMul.{u6, u4, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (instHSMul.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (SMulZeroClass.toSMul.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (SMulWithZero.toSMulZeroClass.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (MulActionWithZero.toSMulWithZero.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (Module.toMulActionWithZero.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17))))) xi (HSMul.hSMul.{u6, u4, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (instHSMul.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (SMulZeroClass.toSMul.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (SMulWithZero.toSMulZeroClass.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (MulActionWithZero.toSMulWithZero.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (Module.toMulActionWithZero.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17))))) yj (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Mₗ) => LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u6)) (succ u5), succ u2, succ u5} (Basis.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) ι₁ (fun (a : ι₁) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₁) => Mₗ) a) (Basis.funLike.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) b₁' i)) Nₗ (fun (_x : Nₗ) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u5) (succ u3)) (succ u4), succ u5, max (succ u3) (succ u4)} (LinearMap.{u6, u6, u5, max u4 u3} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Mₗ (LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _inst_8 (LinearMap.addCommMonoid.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_15 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u3, u4} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_17 (smulCommClass_self.{u6, u4} R Pₗ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u4} R Pₗ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} Pₗ (AddCommMonoid.toAddMonoid.{u4} Pₗ _inst_10)) (Module.toMulActionWithZero.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17))))) Mₗ (fun (_x : Mₗ) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Mₗ) => LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u5, max u3 u4} R R Mₗ (LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 (LinearMap.addCommMonoid.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_15 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u3, u4} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_17 (smulCommClass_self.{u6, u4} R Pₗ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u4} R Pₗ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} Pₗ (AddCommMonoid.toAddMonoid.{u4} Pₗ _inst_10)) (Module.toMulActionWithZero.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) B (FunLike.coe.{max (max (succ u2) (succ u6)) (succ u5), succ u2, succ u5} (Basis.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) ι₁ (fun (_x : ι₁) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₁) => Mₗ) _x) (Basis.funLike.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) b₁' i)) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (_x : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) _x) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Mₗ) => LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) x) Nₗ (fun (_x : Nₗ) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u5) (succ u3)) (succ u4), succ u5, max (succ u3) (succ u4)} (LinearMap.{u6, u6, u5, max u4 u3} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Mₗ (LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _inst_8 (LinearMap.addCommMonoid.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_15 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u3, u4} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_17 (smulCommClass_self.{u6, u4} R Pₗ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u4} R Pₗ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} Pₗ (AddCommMonoid.toAddMonoid.{u4} Pₗ _inst_10)) (Module.toMulActionWithZero.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17))))) Mₗ (fun (_x : Mₗ) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Mₗ) => LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u5, max u3 u4} R R Mₗ (LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 (LinearMap.addCommMonoid.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_15 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u3, u4} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_17 (smulCommClass_self.{u6, u4} R Pₗ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u4} R Pₗ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} Pₗ (AddCommMonoid.toAddMonoid.{u4} Pₗ _inst_10)) (Module.toMulActionWithZero.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) B x) y) + forall {ι₁ : Type.{u2}} {ι₂ : Type.{u1}} {R : Type.{u6}} {Mₗ : Type.{u5}} {Nₗ : Type.{u3}} {Pₗ : Type.{u4}} [_inst_1 : CommSemiring.{u6} R] [_inst_8 : AddCommMonoid.{u5} Mₗ] [_inst_9 : AddCommMonoid.{u3} Nₗ] [_inst_10 : AddCommMonoid.{u4} Pₗ] [_inst_15 : Module.{u6, u5} R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8] [_inst_16 : Module.{u6, u3} R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9] [_inst_17 : Module.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10] (b₁' : Basis.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) (b₂' : Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) {B : LinearMap.{u6, u6, u5, max u4 u3} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Mₗ (LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _inst_8 (LinearMap.addCommMonoid.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_15 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u3, u4} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_17 (smulCommClass_self.{u6, u4} R Pₗ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u4} R Pₗ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} Pₗ (AddCommMonoid.toAddMonoid.{u4} Pₗ _inst_10)) (Module.toMulActionWithZero.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17))))} (x : Mₗ) (y : Nₗ), Eq.{succ u4} Pₗ (Finsupp.sum.{u2, u6, u4} ι₁ R Pₗ (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) _inst_10 (FunLike.coe.{max (max (succ u2) (succ u6)) (succ u5), succ u5, max (succ u2) (succ u6)} (LinearEquiv.{u6, u6, u5, max u6 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.module.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) Mₗ (fun (_x : Mₗ) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Mₗ) => Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u2 u6) u5, u6, u5, max u2 u6} (LinearEquiv.{u6, u6, u5, max u6 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.module.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) R Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (SMulZeroClass.toSMul.{u6, u5} R Mₗ (AddMonoid.toZero.{u5} Mₗ (AddCommMonoid.toAddMonoid.{u5} Mₗ _inst_8)) (DistribSMul.toSMulZeroClass.{u6, u5} R Mₗ (AddMonoid.toAddZeroClass.{u5} Mₗ (AddCommMonoid.toAddMonoid.{u5} Mₗ _inst_8)) (DistribMulAction.toDistribSMul.{u6, u5} R Mₗ (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{u5} Mₗ _inst_8) (Module.toDistribMulAction.{u6, u5} R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15)))) (SMulZeroClass.toSMul.{u6, max u2 u6} R (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddMonoid.toZero.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u6, max u2 u6} R (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u6, max u2 u6} R (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))))) (Module.toDistribMulAction.{u6, max u2 u6} R (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) (Finsupp.module.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u6) u5, u6, u5, max u2 u6} (LinearEquiv.{u6, u6, u5, max u6 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.module.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) R Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{u5} Mₗ _inst_8) (AddCommMonoid.toAddMonoid.{max u2 u6} (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))))) (Module.toDistribMulAction.{u6, u5} R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) (Module.toDistribMulAction.{u6, max u2 u6} R (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) (Finsupp.module.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u6, u5, max u2 u6, max (max u2 u6) u5} R Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (LinearEquiv.{u6, u6, u5, max u6 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.module.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.module.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u6, u6, u5, max u2 u6, max (max u2 u6) u5} R R Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (LinearEquiv.{u6, u6, u5, max u6 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.module.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.module.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u6, u6, u5, max u2 u6} R R Mₗ (Finsupp.{u2, u6} ι₁ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 (Finsupp.addCommMonoid.{u2, u6} ι₁ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_15 (Finsupp.module.{u2, u6, u6} ι₁ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (Basis.repr.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15 b₁') x) (fun (i : ι₁) (xi : R) => Finsupp.sum.{u1, u6, u4} ι₂ R Pₗ (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) _inst_10 (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u3, max (succ u1) (succ u6)} (LinearEquiv.{u6, u6, u3, max u6 u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.module.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) Nₗ (fun (_x : Nₗ) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Nₗ) => Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u6) u3, u6, u3, max u1 u6} (LinearEquiv.{u6, u6, u3, max u6 u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.module.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) R Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (SMulZeroClass.toSMul.{u6, u3} R Nₗ (AddMonoid.toZero.{u3} Nₗ (AddCommMonoid.toAddMonoid.{u3} Nₗ _inst_9)) (DistribSMul.toSMulZeroClass.{u6, u3} R Nₗ (AddMonoid.toAddZeroClass.{u3} Nₗ (AddCommMonoid.toAddMonoid.{u3} Nₗ _inst_9)) (DistribMulAction.toDistribSMul.{u6, u3} R Nₗ (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} Nₗ _inst_9) (Module.toDistribMulAction.{u6, u3} R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16)))) (SMulZeroClass.toSMul.{u6, max u1 u6} R (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddMonoid.toZero.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u6, max u1 u6} R (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u6, max u1 u6} R (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))))) (Module.toDistribMulAction.{u6, max u1 u6} R (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) (Finsupp.module.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u6) u3, u6, u3, max u1 u6} (LinearEquiv.{u6, u6, u3, max u6 u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.module.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) R Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (MonoidWithZero.toMonoid.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} Nₗ _inst_9) (AddCommMonoid.toAddMonoid.{max u1 u6} (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))))) (Module.toDistribMulAction.{u6, u3} R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) (Module.toDistribMulAction.{u6, max u1 u6} R (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) (Finsupp.module.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (SemilinearMapClass.distribMulActionHomClass.{u6, u3, max u1 u6, max (max u1 u6) u3} R Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (LinearEquiv.{u6, u6, u3, max u6 u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.module.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.module.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (SemilinearEquivClass.instSemilinearMapClass.{u6, u6, u3, max u1 u6, max (max u1 u6) u3} R R Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (LinearEquiv.{u6, u6, u3, max u6 u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.module.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.module.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u6, u6, u3, max u1 u6} R R Nₗ (Finsupp.{u1, u6} ι₂ R (MonoidWithZero.toZero.{u6} R (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (Finsupp.addCommMonoid.{u1, u6} ι₂ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))) _inst_16 (Finsupp.module.{u1, u6, u6} ι₂ R R (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Semiring.toModule.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (RingHomInvPair.ids.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))))))) (Basis.repr.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16 b₂') y) (fun (j : ι₂) (yj : R) => HSMul.hSMul.{u6, u4, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (instHSMul.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (SMulZeroClass.toSMul.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (SMulWithZero.toSMulZeroClass.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (MulActionWithZero.toSMulWithZero.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (Module.toMulActionWithZero.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17))))) xi (HSMul.hSMul.{u6, u4, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (instHSMul.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (SMulZeroClass.toSMul.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (SMulWithZero.toSMulZeroClass.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (MulActionWithZero.toSMulWithZero.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) _inst_10)) (Module.toMulActionWithZero.{u6, u4} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (a : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) a) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17))))) yj (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Mₗ) => LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u6)) (succ u5), succ u2, succ u5} (Basis.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) ι₁ (fun (a : ι₁) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₁) => Mₗ) a) (Basis.funLike.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) b₁' i)) Nₗ (fun (_x : Nₗ) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u5) (succ u3)) (succ u4), succ u5, max (succ u3) (succ u4)} (LinearMap.{u6, u6, u5, max u4 u3} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Mₗ (LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _inst_8 (LinearMap.addCommMonoid.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_15 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u3, u4} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_17 (smulCommClass_self.{u6, u4} R Pₗ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u4} R Pₗ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} Pₗ (AddCommMonoid.toAddMonoid.{u4} Pₗ _inst_10)) (Module.toMulActionWithZero.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17))))) Mₗ (fun (_x : Mₗ) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Mₗ) => LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u5, max u3 u4} R R Mₗ (LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 (LinearMap.addCommMonoid.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_15 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u3, u4} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_17 (smulCommClass_self.{u6, u4} R Pₗ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u4} R Pₗ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} Pₗ (AddCommMonoid.toAddMonoid.{u4} Pₗ _inst_10)) (Module.toMulActionWithZero.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) B (FunLike.coe.{max (max (succ u2) (succ u6)) (succ u5), succ u2, succ u5} (Basis.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) ι₁ (fun (_x : ι₁) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₁) => Mₗ) _x) (Basis.funLike.{u2, u6, u5} ι₁ R Mₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 _inst_15) b₁' i)) (FunLike.coe.{max (max (succ u1) (succ u6)) (succ u3), succ u1, succ u3} (Basis.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) ι₂ (fun (_x : ι₂) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι₂) => Nₗ) _x) (Basis.funLike.{u1, u6, u3} ι₂ R Nₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_16) b₂' j)))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Mₗ) => LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) x) Nₗ (fun (_x : Nₗ) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Nₗ) => Pₗ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u5) (succ u3)) (succ u4), succ u5, max (succ u3) (succ u4)} (LinearMap.{u6, u6, u5, max u4 u3} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Mₗ (LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _inst_8 (LinearMap.addCommMonoid.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_15 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u3, u4} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_17 (smulCommClass_self.{u6, u4} R Pₗ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u4} R Pₗ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} Pₗ (AddCommMonoid.toAddMonoid.{u4} Pₗ _inst_10)) (Module.toMulActionWithZero.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17))))) Mₗ (fun (_x : Mₗ) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Mₗ) => LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u5, max u3 u4} R R Mₗ (LinearMap.{u6, u6, u3, u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) Nₗ Pₗ _inst_9 _inst_10 _inst_16 _inst_17) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_8 (LinearMap.addCommMonoid.{u6, u6, u3, u4} R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_15 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u3, u4} R R R Nₗ Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 _inst_10 _inst_16 _inst_17 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_17 (smulCommClass_self.{u6, u4} R Pₗ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u4} R Pₗ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u4} Pₗ (AddCommMonoid.toAddMonoid.{u4} Pₗ _inst_10)) (Module.toMulActionWithZero.{u6, u4} R Pₗ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_10 _inst_17)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) B x) y) Case conversion may be inaccurate. Consider using '#align linear_map.sum_repr_mul_repr_mul LinearMap.sum_repr_mul_repr_mulₓ'. -/ /-- Write out `B x y` as a sum over `B (b i) (b j)` if `b` is a basis. diff --git a/Mathbin/LinearAlgebra/Dfinsupp.lean b/Mathbin/LinearAlgebra/Dfinsupp.lean index 9080256bd6..8bb897bdcf 100644 --- a/Mathbin/LinearAlgebra/Dfinsupp.lean +++ b/Mathbin/LinearAlgebra/Dfinsupp.lean @@ -680,7 +680,7 @@ theorem independent_of_dfinsupp_sumAddHom_injective (p : ι → AddSubmonoid N) lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {N : Type.{u3}} [dec_ι : DecidableEq.{succ u1} ι] [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} N] [_inst_3 : Module.{u2, u3} R N _inst_1 _inst_2] [_inst_4 : forall (m : R), Decidable (Ne.{succ u2} R m (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))))] (p : ι -> (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3)) {v : ι -> N} (hv : forall (i : ι), Membership.Mem.{u3, u3} N (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (v i) (p i)), Eq.{max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) N (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_3) (LinearMap.comp.{u2, u2, u2, max u1 u2, max u1 u3, u3} R R R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) N _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (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.right_ids.{u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (coeFn.{succ (max u1 u3), succ (max u1 u3)} (LinearEquiv.{0, 0, max u1 u3, max u1 u3} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u2, u2, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u2, u2, max u1 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) N (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u3} ι (fun (i : ι) => LinearMap.{u2, u2, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u2, u2, u3, u3} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N _inst_1 _inst_1 (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (LinearMap.addCommMonoid.{u2, u2, max u1 u3, u3} R R (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) N _inst_1 _inst_1 (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.module.{u1, u3, 0} ι (fun (i : ι) => LinearMap.{u2, u2, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u2, u2, u3, u3} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N _inst_1 _inst_1 (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : ι) => LinearMap.module.{u2, u2, 0, u3, u3} R R Nat (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N _inst_1 _inst_1 (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u3} N _inst_2) (AddMonoid.nat_smulCommClass'.{u2, u3} R N (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u2, u3} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.module.{u2, u2, 0, max u1 u3, u3} R R Nat (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) N _inst_1 _inst_1 (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u3} N _inst_2) (AddMonoid.nat_smulCommClass'.{u2, u3} R N (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u2, u3} R N _inst_1 _inst_2 _inst_3)))) (fun (_x : LinearEquiv.{0, 0, max u1 u3, max u1 u3} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u2, u2, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u2, u2, max u1 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) N (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u3} ι (fun (i : ι) => LinearMap.{u2, u2, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u2, u2, u3, u3} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N _inst_1 _inst_1 (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (LinearMap.addCommMonoid.{u2, u2, max u1 u3, u3} R R (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) N _inst_1 _inst_1 (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.module.{u1, u3, 0} ι (fun (i : ι) => LinearMap.{u2, u2, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u2, u2, u3, u3} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N _inst_1 _inst_1 (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : ι) => LinearMap.module.{u2, u2, 0, u3, u3} R R Nat (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N _inst_1 _inst_1 (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u3} N _inst_2) (AddMonoid.nat_smulCommClass'.{u2, u3} R N (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u2, u3} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.module.{u2, u2, 0, max u1 u3, u3} R R Nat (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) N _inst_1 _inst_1 (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u3} N _inst_2) (AddMonoid.nat_smulCommClass'.{u2, u3} R N (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u2, u3} R N _inst_1 _inst_2 _inst_3)))) => (forall (i : ι), LinearMap.{u2, u2, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) -> (LinearMap.{u2, u2, max u1 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) N (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3)) (LinearEquiv.hasCoeToFun.{0, 0, max u1 u3, max u1 u3} Nat Nat (forall (i : ι), LinearMap.{u2, u2, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u2, u2, max u1 u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) N (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) Nat.semiring Nat.semiring (Pi.addCommMonoid.{u1, u3} ι (fun (i : ι) => LinearMap.{u2, u2, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u2, u2, u3, u3} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N _inst_1 _inst_1 (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (LinearMap.addCommMonoid.{u2, u2, max u1 u3, u3} R R (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) N _inst_1 _inst_1 (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Pi.module.{u1, u3, 0} ι (fun (i : ι) => LinearMap.{u2, u2, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u2, u2, u3, u3} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N _inst_1 _inst_1 (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : ι) => LinearMap.module.{u2, u2, 0, u3, u3} R R Nat (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N _inst_1 _inst_1 (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u3} N _inst_2) (AddMonoid.nat_smulCommClass'.{u2, u3} R N (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u2, u3} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.module.{u2, u2, 0, max u1 u3, u3} R R Nat (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) N _inst_1 _inst_1 (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u3} N _inst_2) (AddMonoid.nat_smulCommClass'.{u2, u3} R N (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u2, u3} R N _inst_1 _inst_2 _inst_3))) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring)) (Dfinsupp.lsum.{u1, u2, 0, u3, u3} ι R Nat (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) N (fun (a : ι) (b : ι) => dec_ι a b) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 _inst_3 Nat.semiring (AddCommMonoid.natModule.{u3} N _inst_2) (AddMonoid.nat_smulCommClass'.{u2, u3} R N (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} N _inst_2) (Module.toDistribMulAction.{u2, u3} R N _inst_1 _inst_2 _inst_3))) (fun (i : ι) => Submodule.subtype.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) (LinearMap.comp.{u2, u2, u2, max u1 u2, max u1 u2, max u1 u3} R R R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => R) (fun (i : ι) => AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Dfinsupp.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => AddZeroClass.toHasZero.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)))))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Dfinsupp.addCommMonoid.{u1, u2} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Dfinsupp.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Dfinsupp.module.{u1, u2, u2} ι R (fun (i : ι) => 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)) (Dfinsupp.module.{u1, u3, u2} ι R (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i))) (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.right_ids.{u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Dfinsupp.mapRange.linearMap.{u1, u2, u2, u3} ι R _inst_1 (fun (i : ι) => R) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (i : ι) => Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Semiring.toModule.{u2} R _inst_1) (fun (i : ι) => Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => LinearMap.toSpanSingleton.{u2, u3} R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) (p i)) _inst_1 (Submodule.addCommMonoid.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (Submodule.module.{u2, u3} R N _inst_1 _inst_2 _inst_3 (p i)) (Subtype.mk.{succ u3} N (fun (x : N) => Membership.Mem.{u3, u3} N (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R N _inst_1 _inst_2 _inst_3) N (Submodule.setLike.{u2, u3} R N _inst_1 _inst_2 _inst_3)) x (p i)) (v i) (hv i)))) (LinearEquiv.toLinearMap.{u2, u2, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => R) (fun (i : ι) => AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Dfinsupp.addCommMonoid.{u1, u2} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Dfinsupp.module.{u1, u2, u2} ι R (fun (i : ι) => 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)) (finsuppLequivDfinsupp.{u1, u2, u2} ι R R (fun (a : ι) (b : ι) => dec_ι a b) _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (fun (m : R) => _inst_4 m) (Semiring.toModule.{u2} R _inst_1))))) (Finsupp.total.{u1, u3, u2} ι N R _inst_1 _inst_2 _inst_3 v) but is expected to have type - forall {ι : Type.{u1}} {R : Type.{u3}} {N : Type.{u2}} [dec_ι : DecidableEq.{succ u1} ι] [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : Module.{u3, u2} R N _inst_1 _inst_2] [_inst_4 : forall (m : R), Decidable (Ne.{succ u3} R m (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))))] (p : ι -> (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) {v : ι -> N} (hv : forall (i : ι), Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) (v i) (p i)), Eq.{max (max (succ u1) (succ 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 (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) N (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) (LinearMap.comp.{u3, u3, u3, max u1 u3, max u1 u2, u2} R R R (Finsupp.{u1, u3} ι R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearEquiv.{0, 0, max u1 u2, max u2 u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (_x : forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) => LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) _x) (SMulHomClass.toFunLike.{max u1 u2, 0, max u1 u2, max u1 u2} (LinearEquiv.{0, 0, max u1 u2, max u2 u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (SMulZeroClass.toSMul.{0, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (AddMonoid.toZero.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (AddMonoid.toAddZeroClass.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{0, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (MonoidWithZero.toMonoid.{0} Nat (Semiring.toMonoidWithZero.{0} Nat Nat.semiring)) (AddCommMonoid.toAddMonoid.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{0, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat.semiring (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))))))) (SMulZeroClass.toSMul.{0, max u1 u2} Nat (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (AddMonoid.toZero.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribSMul.toSMulZeroClass.{0, max u1 u2} Nat (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (AddMonoid.toAddZeroClass.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribMulAction.toDistribSMul.{0, max u1 u2} Nat (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (MonoidWithZero.toMonoid.{0} Nat (Semiring.toMonoidWithZero.{0} Nat Nat.semiring)) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{0, max u1 u2} Nat (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) Nat.semiring (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u2, 0, max u1 u2, max u1 u2} (LinearEquiv.{0, 0, max u1 u2, max u2 u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (MonoidWithZero.toMonoid.{0} Nat (Semiring.toMonoidWithZero.{0} Nat Nat.semiring)) (AddCommMonoid.toAddMonoid.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{0, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat.semiring (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))))) (Module.toDistribMulAction.{0, max u1 u2} Nat (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) Nat.semiring (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (SemilinearMapClass.distribMulActionHomClass.{0, max u1 u2, max u1 u2, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearEquiv.{0, 0, max u1 u2, max u2 u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) Nat.semiring (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, max u1 u2, max u1 u2, max u1 u2} Nat Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearEquiv.{0, 0, max u1 u2, max u2 u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) Nat.semiring Nat.semiring (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, max u1 u2, max u1 u2} Nat Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) Nat.semiring Nat.semiring (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring)))))) (Dfinsupp.lsum.{u1, u3, 0, u2, u2} ι R Nat (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (fun (a : ι) (b : ι) => dec_ι a b) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 _inst_3 Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))) (fun (i : ι) => Submodule.subtype.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) (LinearMap.comp.{u3, u3, u3, max u1 u3, max u1 u3, max u1 u2} R R R (Finsupp.{u1, u3} ι R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Dfinsupp.{u1, u3} ι (fun (i : ι) => R) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => R) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u3} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Dfinsupp.module.{u1, u3, u3} ι R (fun (i : ι) => R) _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)) (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Dfinsupp.mapRange.linearMap.{u1, u3, u3, u2} ι R _inst_1 (fun (i : ι) => R) (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => LinearMap.toSpanSingleton.{u3, u2} R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (Subtype.mk.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i)) (v i) (hv i)))) (LinearEquiv.toLinearMap.{u3, u3, max u1 u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Dfinsupp.{u1, u3} ι (fun (i : ι) => R) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (_i : ι) => R) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (_i : ι) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u3} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Dfinsupp.module.{u1, u3, u3} ι R (fun (i : ι) => R) _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)) (finsuppLequivDfinsupp.{u1, u3, u3} ι R R (fun (a : ι) (b : ι) => dec_ι a b) _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (m : R) => _inst_4 m) (Semiring.toModule.{u3} R _inst_1))))) (Finsupp.total.{u1, u2, u3} ι N R _inst_1 _inst_2 _inst_3 v) + forall {ι : Type.{u1}} {R : Type.{u3}} {N : Type.{u2}} [dec_ι : DecidableEq.{succ u1} ι] [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} N] [_inst_3 : Module.{u3, u2} R N _inst_1 _inst_2] [_inst_4 : forall (m : R), Decidable (Ne.{succ u3} R m (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)))))] (p : ι -> (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) {v : ι -> N} (hv : forall (i : ι), Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) (v i) (p i)), Eq.{max (max (succ u1) (succ 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 (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) N (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (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_3) (LinearMap.comp.{u3, u3, u3, max u1 u3, max u1 u2, u2} R R R (Finsupp.{u1, u3} ι R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (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)) (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearEquiv.{0, 0, max u1 u2, max u2 u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (_x : forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) => LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) _x) (SMulHomClass.toFunLike.{max u1 u2, 0, max u1 u2, max u1 u2} (LinearEquiv.{0, 0, max u1 u2, max u2 u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (SMulZeroClass.toSMul.{0, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (AddMonoid.toZero.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{0, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (AddMonoid.toAddZeroClass.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{0, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (MonoidWithZero.toMonoid.{0} Nat (Semiring.toMonoidWithZero.{0} Nat Nat.semiring)) (AddCommMonoid.toAddMonoid.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{0, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat.semiring (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))))))) (SMulZeroClass.toSMul.{0, max u1 u2} Nat (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (AddMonoid.toZero.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribSMul.toSMulZeroClass.{0, max u1 u2} Nat (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (AddMonoid.toAddZeroClass.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (DistribMulAction.toDistribSMul.{0, max u1 u2} Nat (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (MonoidWithZero.toMonoid.{0} Nat (Semiring.toMonoidWithZero.{0} Nat Nat.semiring)) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{0, max u1 u2} Nat (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) Nat.semiring (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u2, 0, max u1 u2, max u1 u2} (LinearEquiv.{0, 0, max u1 u2, max u2 u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (MonoidWithZero.toMonoid.{0} Nat (Semiring.toMonoidWithZero.{0} Nat Nat.semiring)) (AddCommMonoid.toAddMonoid.{max u1 u2} (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{0, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat.semiring (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))))) (Module.toDistribMulAction.{0, max u1 u2} Nat (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) Nat.semiring (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (SemilinearMapClass.distribMulActionHomClass.{0, max u1 u2, max u1 u2, max u1 u2} Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearEquiv.{0, 0, max u1 u2, max u2 u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) Nat.semiring (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))) (SemilinearEquivClass.instSemilinearMapClass.{0, 0, max u1 u2, max u1 u2, max u1 u2} Nat Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (LinearEquiv.{0, 0, max u1 u2, max u2 u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) Nat.semiring Nat.semiring (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{0, 0, max u1 u2, max u1 u2} Nat Nat (forall (i : ι), LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3) Nat.semiring Nat.semiring (Pi.addCommMonoid.{u1, u2} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (LinearMap.addCommMonoid.{u3, u3, max u1 u2, u2} R R (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Pi.module.{u1, u2, 0} ι (fun (i : ι) => LinearMap.{u3, u3, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3) Nat Nat.semiring (fun (i : ι) => LinearMap.addCommMonoid.{u3, u3, u2, u2} R R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, u2, u2} R R Nat (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u3, u3, 0, max u1 u2, u2} R R Nat (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) N _inst_1 _inst_1 (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_2 (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (RingHomInvPair.ids.{0} Nat Nat.semiring) (RingHomInvPair.ids.{0} Nat Nat.semiring)))))) (Dfinsupp.lsum.{u1, u3, 0, u2, u2} ι R Nat (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) N (fun (a : ι) (b : ι) => dec_ι a b) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) _inst_2 _inst_3 Nat.semiring (AddCommMonoid.natModule.{u2} N _inst_2) (AddMonoid.nat_smulCommClass'.{u3, u2} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N _inst_2) (Module.toDistribMulAction.{u3, u2} R N _inst_1 _inst_2 _inst_3))) (fun (i : ι) => Submodule.subtype.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) (LinearMap.comp.{u3, u3, u3, max u1 u3, max u1 u3, max u1 u2} R R R (Finsupp.{u1, u3} ι R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Dfinsupp.{u1, u3} ι (fun (i : ι) => R) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => R) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Dfinsupp.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) i) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u3} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) (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)) (Dfinsupp.module.{u1, u3, u3} ι R (fun (i : ι) => R) _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)) (Dfinsupp.module.{u1, u2, u3} ι R (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Dfinsupp.mapRange.linearMap.{u1, u3, u3, u2} ι R _inst_1 (fun (i : ι) => R) (fun (i : ι) => Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1) (fun (i : ι) => Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (fun (i : ι) => LinearMap.toSpanSingleton.{u3, u2} R (Subtype.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3 (p i)) (Subtype.mk.{succ u2} N (fun (x : N) => Membership.mem.{u2, u2} N (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R N _inst_1 _inst_2 _inst_3) N (Submodule.instSetLikeSubmodule.{u3, u2} R N _inst_1 _inst_2 _inst_3)) x (p i)) (v i) (hv i)))) (LinearEquiv.toLinearMap.{u3, u3, max u1 u3, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u3} ι R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Dfinsupp.{u1, u3} ι (fun (i : ι) => R) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (_i : ι) => R) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (_i : ι) => R) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Finsupp.addCommMonoid.{u1, u3} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Dfinsupp.instAddCommMonoidDfinsuppToZeroToAddMonoid.{u1, u3} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (Dfinsupp.module.{u1, u3, u3} ι R (fun (i : ι) => R) _inst_1 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (i : ι) => Semiring.toModule.{u3} R _inst_1)) (finsuppLequivDfinsupp.{u1, u3, u3} ι R R (fun (a : ι) (b : ι) => dec_ι a b) _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (fun (m : R) => _inst_4 m) (Semiring.toModule.{u3} R _inst_1))))) (Finsupp.total.{u1, u2, u3} ι N R _inst_1 _inst_2 _inst_3 v) Case conversion may be inaccurate. Consider using '#align complete_lattice.lsum_comp_map_range_to_span_singleton CompleteLattice.lsum_comp_mapRange_toSpanSingletonₓ'. -/ /-- Combining `dfinsupp.lsum` with `linear_map.to_span_singleton` is the same as `finsupp.total` -/ theorem lsum_comp_mapRange_toSpanSingleton [∀ m : R, Decidable (m ≠ 0)] (p : ι → Submodule R N) diff --git a/Mathbin/LinearAlgebra/Finsupp.lean b/Mathbin/LinearAlgebra/Finsupp.lean index c8c148102d..66edc8840c 100644 --- a/Mathbin/LinearAlgebra/Finsupp.lean +++ b/Mathbin/LinearAlgebra/Finsupp.lean @@ -80,7 +80,7 @@ variable [AddCommMonoid P] [Module R P] 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], α -> (LinearMap.{u3, u3, u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) but is expected to have type - 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], α -> (LinearMap.{u3, u3, u2, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) + 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], α -> (LinearMap.{u3, u3, u2, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.lsingle Finsupp.lsingleₓ'. -/ /-- Interpret `finsupp.single a` as a linear map. -/ def lsingle (a : α) : M →ₗ[R] α →₀ M := @@ -91,7 +91,7 @@ def lsingle (a : α) : M →ₗ[R] α →₀ M := lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] {{φ : LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}} {{ψ : LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}}, (forall (a : α) (b : M), Eq.{succ u3} N (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (fun (_x : LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) => (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) -> N) (LinearMap.hasCoeToFun.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) φ (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) a b)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (fun (_x : LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) => (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) -> N) (LinearMap.hasCoeToFun.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) ψ (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) a b))) -> (Eq.{max (succ (max u1 u2)) (succ u3)} (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) φ ψ) but is expected to have type - forall {α : Type.{u2}} {M : Type.{u3}} {N : Type.{u1}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u4, u1} R N _inst_1 _inst_5] {{φ : LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}} {{ψ : LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}}, (forall (a : α) (b : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => N) (Finsupp.single.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) a b)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (fun (_x : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => N) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u2 u3, u1} R R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) φ (Finsupp.single.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) a b)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (fun (_x : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => N) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u2 u3, u1} R R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) ψ (Finsupp.single.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) a b))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) φ ψ) + forall {α : Type.{u2}} {M : Type.{u3}} {N : Type.{u1}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u4, u1} R N _inst_1 _inst_5] {{φ : LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}} {{ψ : LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}}, (forall (a : α) (b : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => N) (Finsupp.single.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) a b)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (fun (_x : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => N) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u2 u3, u1} R R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) φ (Finsupp.single.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) a b)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (fun (_x : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => N) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u2 u3, u1} R R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) ψ (Finsupp.single.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) a b))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) φ ψ) Case conversion may be inaccurate. Consider using '#align finsupp.lhom_ext Finsupp.lhom_extₓ'. -/ /-- Two `R`-linear maps from `finsupp X M` which agree on each `single x y` agree everywhere. -/ theorem lhom_ext ⦃φ ψ : (α →₀ M) →ₗ[R] N⦄ (h : ∀ a b, φ (single a b) = ψ (single a b)) : φ = ψ := @@ -102,7 +102,7 @@ theorem lhom_ext ⦃φ ψ : (α →₀ M) →ₗ[R] N⦄ (h : ∀ a b, φ (singl lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] {{φ : LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}} {{ψ : LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}}, (forall (a : α), Eq.{max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (LinearMap.comp.{u4, u4, u4, u2, max u1 u2, u3} R R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 _inst_4 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomCompTriple.right_ids.{u4, u4} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) φ (Finsupp.lsingle.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4 a)) (LinearMap.comp.{u4, u4, u4, u2, max u1 u2, u3} R R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 _inst_4 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomCompTriple.right_ids.{u4, u4} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) ψ (Finsupp.lsingle.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4 a))) -> (Eq.{max (succ (max u1 u2)) (succ u3)} (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) φ ψ) but is expected to have type - forall {α : Type.{u2}} {M : Type.{u3}} {N : Type.{u1}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u4, u1} R N _inst_1 _inst_5] {{φ : LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}} {{ψ : LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}}, (forall (a : α), Eq.{max (succ u3) (succ u1)} (LinearMap.{u4, u4, u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (LinearMap.comp.{u4, u4, u4, u3, max u2 u3, u1} R R R M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N _inst_1 _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomCompTriple.ids.{u4, u4} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) φ (Finsupp.lsingle.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4 a)) (LinearMap.comp.{u4, u4, u4, u3, max u2 u3, u1} R R R M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N _inst_1 _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomCompTriple.ids.{u4, u4} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) ψ (Finsupp.lsingle.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4 a))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) φ ψ) + forall {α : Type.{u2}} {M : Type.{u3}} {N : Type.{u1}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u4, u1} R N _inst_1 _inst_5] {{φ : LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}} {{ψ : LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6}}, (forall (a : α), Eq.{max (succ u3) (succ u1)} (LinearMap.{u4, u4, u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (LinearMap.comp.{u4, u4, u4, u3, max u2 u3, u1} R R R M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N _inst_1 _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 _inst_4 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomCompTriple.ids.{u4, u4} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) φ (Finsupp.lsingle.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4 a)) (LinearMap.comp.{u4, u4, u4, u3, max u2 u3, u1} R R R M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N _inst_1 _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 _inst_4 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomCompTriple.ids.{u4, u4} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) ψ (Finsupp.lsingle.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4 a))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (LinearMap.{u4, u4, max u3 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_5 (Finsupp.module.{u2, u3, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) φ ψ) Case conversion may be inaccurate. Consider using '#align finsupp.lhom_ext' Finsupp.lhom_ext'ₓ'. -/ /-- Two `R`-linear maps from `finsupp X M` which agree on each `single x y` agree everywhere. @@ -119,7 +119,7 @@ theorem lhom_ext' ⦃φ ψ : (α →₀ M) →ₗ[R] N⦄ (h : ∀ a, φ.comp (l 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], α -> (LinearMap.{u3, u3, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4) but is expected to have type - 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], α -> (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4) + 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], α -> (LinearMap.{u3, u3, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4) Case conversion may be inaccurate. Consider using '#align finsupp.lapply Finsupp.lapplyₓ'. -/ /-- Interpret `λ (f : α →₀ M), f a` as a linear map. -/ def lapply (a : α) : (α →₀ M) →ₗ[R] M := @@ -130,7 +130,7 @@ def lapply (a : α) : (α →₀ M) →ₗ[R] 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], LinearMap.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (α -> M) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Pi.Function.module.{u1, u3, u2} α R M _inst_1 _inst_3 _inst_4) but is expected to have type - 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], LinearMap.{u3, u3, max u2 u1, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (α -> M) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Pi.module.{u1, u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.497 : α) => M) R _inst_1 (fun (i : α) => _inst_3) (fun (i : α) => _inst_4)) + 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], LinearMap.{u3, u3, max u2 u1, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (α -> M) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Pi.addCommMonoid.{u1, u2} α (fun (ᾰ : α) => M) (fun (i : α) => _inst_3)) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Pi.module.{u1, u2, u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.497 : α) => M) R _inst_1 (fun (i : α) => _inst_3) (fun (i : α) => _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.lcoe_fun Finsupp.lcoeFunₓ'. -/ /-- Forget that a function is finitely supported. @@ -154,7 +154,7 @@ variable (s : Set α) 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] (s : Set.{u1} α), LinearMap.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M R _inst_1 _inst_3 _inst_4) but is expected to have type - 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] (s : Set.{u1} α), LinearMap.{u3, u3, max u2 u1, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u2} (Set.Elem.{u1} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} (Set.Elem.{u1} α s) M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} (Set.Elem.{u1} α s) M R _inst_1 _inst_3 _inst_4) + 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] (s : Set.{u1} α), LinearMap.{u3, u3, max u2 u1, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u2} (Set.Elem.{u1} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} (Set.Elem.{u1} α s) M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u3} (Set.Elem.{u1} α s) M R _inst_1 _inst_3 _inst_4) Case conversion may be inaccurate. Consider using '#align finsupp.lsubtype_domain Finsupp.lsubtypeDomainₓ'. -/ /-- Interpret `finsupp.subtype_domain s` as a linear map. -/ def lsubtypeDomain : (α →₀ M) →ₗ[R] s →₀ M @@ -168,7 +168,7 @@ def lsubtypeDomain : (α →₀ M) →ₗ[R] s →₀ 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] (s : Set.{u1} α) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M R _inst_1 _inst_3 _inst_4)) (fun (_x : LinearMap.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M R _inst_1 _inst_3 _inst_4)) => (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) -> (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, max u1 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lsubtypeDomain.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s) f) (Finsupp.subtypeDomain.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) f) 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] (s : Set.{u3} α) (f : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} (Set.Elem.{u3} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) f) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearMap.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} (Set.Elem.{u3} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} (Set.Elem.{u3} α s) M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} (Set.Elem.{u3} α s) M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} (Set.Elem.{u3} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} (Set.Elem.{u3} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} (Set.Elem.{u3} α s) M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} (Set.Elem.{u3} α s) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lsubtypeDomain.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) f) (Finsupp.subtypeDomain.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (fun (x : α) => Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s) f) + 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] (s : Set.{u3} α) (f : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} (Set.Elem.{u3} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) f) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearMap.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} (Set.Elem.{u3} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} (Set.Elem.{u3} α s) M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} (Set.Elem.{u3} α s) M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} (Set.Elem.{u3} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} (Set.Elem.{u3} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} (Set.Elem.{u3} α s) M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} (Set.Elem.{u3} α s) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lsubtypeDomain.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) f) (Finsupp.subtypeDomain.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (fun (x : α) => Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s) f) Case conversion may be inaccurate. Consider using '#align finsupp.lsubtype_domain_apply Finsupp.lsubtypeDomain_applyₓ'. -/ theorem lsubtypeDomain_apply (f : α →₀ M) : (lsubtypeDomain s : (α →₀ M) →ₗ[R] s →₀ M) f = subtypeDomain (fun x => x ∈ s) f := @@ -181,7 +181,7 @@ end LsubtypeDomain 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] (a : α) (b : M), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (LinearMap.{u3, u3, u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (fun (_x : LinearMap.{u3, u3, u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) => M -> (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))) (LinearMap.hasCoeToFun.{u3, u3, u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lsingle.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 a) b) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) a b) 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] (a : α) (b : M), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) b) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearMap.{u1, u1, u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lsingle.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a) b) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) a b) + 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] (a : α) (b : M), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) b) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearMap.{u1, u1, u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lsingle.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a) b) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) a b) Case conversion may be inaccurate. Consider using '#align finsupp.lsingle_apply Finsupp.lsingle_applyₓ'. -/ @[simp] theorem lsingle_apply (a : α) (b : M) : (lsingle a : M →ₗ[R] α →₀ M) b = single a b := @@ -190,9 +190,9 @@ theorem lsingle_apply (a : α) (b : M) : (lsingle a : M →ₗ[R] α →₀ M) b /- warning: finsupp.lapply_apply -> Finsupp.lapply_apply is a dubious translation: 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] (a : α) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))), Eq.{succ u2} M (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ (max u1 u2)) (succ u2)} (LinearMap.{u3, u3, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4) (fun (_x : LinearMap.{u3, u3, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4) => (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lapply.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 a) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) f a) + 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] (a : α) (f : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))), Eq.{succ u2} M (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ (max u1 u2)) (succ u2)} (LinearMap.{u3, u3, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4) (fun (_x : LinearMap.{u3, u3, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4) => (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lapply.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 a) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) f a) 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] (a : α) (f : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => M) f) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (LinearMap.{u1, u1, max u2 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u2, u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lapply.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) f a) + 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] (a : α) (f : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => M) f) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (LinearMap.{u1, u1, max u2 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u2, u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lapply.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) f a) Case conversion may be inaccurate. Consider using '#align finsupp.lapply_apply Finsupp.lapply_applyₓ'. -/ @[simp] theorem lapply_apply (a : α) (f : α →₀ M) : (lapply a : (α →₀ M) →ₗ[R] M) f = f a := @@ -203,7 +203,7 @@ theorem lapply_apply (a : α) (f : α →₀ M) : (lapply a : (α →₀ 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] (a : α), Eq.{succ u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) (LinearMap.ker.{u3, u3, u2, max u1 u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (LinearMap.{u3, u3, u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.semilinearMapClass.{u3, u3, u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lsingle.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 a)) (Bot.bot.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u3, u2} R M _inst_1 _inst_3 _inst_4)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u3}} {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u2, u3} R M _inst_1 _inst_3] (a : α), Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (LinearMap.ker.{u2, u2, u3, max u1 u3, max u1 u3} R R M (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u2} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (LinearMap.{u2, u2, u3, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u2} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, max u1 u3} R R M (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u2} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.lsingle.{u1, u3, u2} α M R _inst_1 _inst_3 _inst_4 a)) (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u3} R M _inst_1 _inst_3 _inst_4)) + forall {α : Type.{u1}} {M : Type.{u3}} {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u2, u3} R M _inst_1 _inst_3] (a : α), Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (LinearMap.ker.{u2, u2, u3, max u1 u3, max u1 u3} R R M (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) _inst_4 (Finsupp.module.{u1, u3, u2} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (LinearMap.{u2, u2, u3, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) _inst_4 (Finsupp.module.{u1, u3, u2} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, max u1 u3} R R M (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) _inst_4 (Finsupp.module.{u1, u3, u2} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.lsingle.{u1, u3, u2} α M R _inst_1 _inst_3 _inst_4 a)) (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u3} R M _inst_1 _inst_3 _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.ker_lsingle Finsupp.ker_lsingleₓ'. -/ @[simp] theorem ker_lsingle (a : α) : (lsingle a : M →ₗ[R] α →₀ M).ker = ⊥ := @@ -214,7 +214,7 @@ theorem ker_lsingle (a : α) : (lsingle a : M →ₗ[R] α →₀ M).ker = ⊥ : 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] (s : Set.{u1} α) (t : Set.{u1} α), (Disjoint.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} α) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α))) s t) -> (LE.le.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.partialOrder.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))))) (supᵢ.{max u1 u2, succ u1} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toHasSup.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => supᵢ.{max u1 u2, 0} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toHasSup.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)))) (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) => LinearMap.range.{u3, u3, u2, max u1 u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (LinearMap.{u3, u3, u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.semilinearMapClass.{u3, u3, u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (RingHomSurjective.ids.{u3} R _inst_1) (Finsupp.lsingle.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 a)))) (infᵢ.{max u1 u2, succ u1} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.hasInf.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) α (fun (a : α) => infᵢ.{max u1 u2, 0} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.hasInf.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a t) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a t) => LinearMap.ker.{u3, u3, max u1 u2, u2, max u1 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (LinearMap.{u3, u3, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4) (LinearMap.semilinearMapClass.{u3, u3, max u1 u2, u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lapply.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 a))))) 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] (s : Set.{u3} α) (t : Set.{u3} α), (Disjoint.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) (BoundedOrder.toOrderBot.{u3} (Set.{u3} α) (Preorder.toLE.{u3} (Set.{u3} α) (PartialOrder.toPreorder.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))))) (CompleteLattice.toBoundedOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) s t) -> (LE.le.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))))) (supᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => supᵢ.{max u3 u2, 0} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a s) (fun (H : Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a s) => LinearMap.range.{u1, u1, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.lsingle.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a)))) (infᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instInfSetSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) α (fun (a : α) => infᵢ.{max u3 u2, 0} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instInfSetSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a t) (fun (H : Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a t) => LinearMap.ker.{u1, u1, max u3 u2, u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u3 u2, u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lapply.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a))))) + 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] (s : Set.{u3} α) (t : Set.{u3} α), (Disjoint.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) (BoundedOrder.toOrderBot.{u3} (Set.{u3} α) (Preorder.toLE.{u3} (Set.{u3} α) (PartialOrder.toPreorder.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))))) (CompleteLattice.toBoundedOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) s t) -> (LE.le.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))))) (supᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => supᵢ.{max u3 u2, 0} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a s) (fun (H : Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a s) => LinearMap.range.{u1, u1, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.lsingle.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a)))) (infᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instInfSetSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) α (fun (a : α) => infᵢ.{max u3 u2, 0} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instInfSetSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a t) (fun (H : Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a t) => LinearMap.ker.{u1, u1, max u3 u2, u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u3 u2, u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lapply.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a))))) Case conversion may be inaccurate. Consider using '#align finsupp.lsingle_range_le_ker_lapply Finsupp.lsingle_range_le_ker_lapplyₓ'. -/ theorem lsingle_range_le_ker_lapply (s t : Set α) (h : Disjoint s t) : (⨆ a ∈ s, (lsingle a : M →ₗ[R] α →₀ M).range) ≤ ⨅ a ∈ t, ker (lapply a : (α →₀ M) →ₗ[R] M) := @@ -230,7 +230,7 @@ theorem lsingle_range_le_ker_lapply (s t : Set α) (h : Disjoint s t) : 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], LE.le.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.partialOrder.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))))) (infᵢ.{max u1 u2, succ u1} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.hasInf.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) α (fun (a : α) => LinearMap.ker.{u3, u3, max u1 u2, u2, max u1 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (LinearMap.{u3, u3, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4) (LinearMap.semilinearMapClass.{u3, u3, max u1 u2, u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_3 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lapply.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 a))) (Bot.bot.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.hasBot.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) 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], LE.le.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))))) (infᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instInfSetSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) α (fun (a : α) => LinearMap.ker.{u1, u1, max u3 u2, u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u3 u2, u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lapply.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a))) (Bot.bot.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instBotSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) + 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], LE.le.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))))) (infᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instInfSetSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) α (fun (a : α) => LinearMap.ker.{u1, u1, max u3 u2, u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u3 u2, u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_3 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lapply.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a))) (Bot.bot.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instBotSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) Case conversion may be inaccurate. Consider using '#align finsupp.infi_ker_lapply_le_bot Finsupp.infᵢ_ker_lapply_le_botₓ'. -/ theorem infᵢ_ker_lapply_le_bot : (⨅ a, ker (lapply a : (α →₀ M) →ₗ[R] M)) ≤ ⊥ := by @@ -242,7 +242,7 @@ theorem infᵢ_ker_lapply_le_bot : (⨅ a, ker (lapply a : (α →₀ 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.{succ (max u1 u2)} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (supᵢ.{max u1 u2, succ u1} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toHasSup.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => LinearMap.range.{u3, u3, u2, max u1 u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (LinearMap.{u3, u3, u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.semilinearMapClass.{u3, u3, u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (RingHomSurjective.ids.{u3} R _inst_1) (Finsupp.lsingle.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 a))) (Top.top.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.hasTop.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) 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 (succ u3) (succ u2)} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (supᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => LinearMap.range.{u1, u1, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.lsingle.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a))) (Top.top.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instTopSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) + 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 (succ u3) (succ u2)} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (supᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => LinearMap.range.{u1, u1, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.lsingle.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a))) (Top.top.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instTopSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) Case conversion may be inaccurate. Consider using '#align finsupp.supr_lsingle_range Finsupp.supᵢ_lsingle_rangeₓ'. -/ theorem supᵢ_lsingle_range : (⨆ a, (lsingle a : M →ₗ[R] α →₀ M).range) = ⊤ := by @@ -255,7 +255,7 @@ theorem supᵢ_lsingle_range : (⨆ a, (lsingle a : M →ₗ[R] α →₀ M).ran 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] (s : Set.{u1} α) (t : Set.{u1} α), (Disjoint.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} α) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α))) s t) -> (Disjoint.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.partialOrder.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Submodule.orderBot.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (supᵢ.{max u1 u2, succ u1} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toHasSup.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => supᵢ.{max u1 u2, 0} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toHasSup.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)))) (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) => LinearMap.range.{u3, u3, u2, max u1 u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (LinearMap.{u3, u3, u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.semilinearMapClass.{u3, u3, u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (RingHomSurjective.ids.{u3} R _inst_1) (Finsupp.lsingle.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 a)))) (supᵢ.{max u1 u2, succ u1} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toHasSup.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => supᵢ.{max u1 u2, 0} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toHasSup.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)))) (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a t) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a t) => LinearMap.range.{u3, u3, u2, max u1 u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (LinearMap.{u3, u3, u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.semilinearMapClass.{u3, u3, u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (RingHomSurjective.ids.{u3} R _inst_1) (Finsupp.lsingle.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 a))))) 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] (s : Set.{u3} α) (t : Set.{u3} α), (Disjoint.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) (BoundedOrder.toOrderBot.{u3} (Set.{u3} α) (Preorder.toLE.{u3} (Set.{u3} α) (PartialOrder.toPreorder.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))))) (CompleteLattice.toBoundedOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) s t) -> (Disjoint.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (supᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => supᵢ.{max u3 u2, 0} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a s) (fun (H : Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a s) => LinearMap.range.{u1, u1, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.lsingle.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a)))) (supᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => supᵢ.{max u3 u2, 0} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a t) (fun (H : Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a t) => LinearMap.range.{u1, u1, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.lsingle.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a))))) + 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] (s : Set.{u3} α) (t : Set.{u3} α), (Disjoint.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) (BoundedOrder.toOrderBot.{u3} (Set.{u3} α) (Preorder.toLE.{u3} (Set.{u3} α) (PartialOrder.toPreorder.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))))) (CompleteLattice.toBoundedOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) s t) -> (Disjoint.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (supᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => supᵢ.{max u3 u2, 0} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a s) (fun (H : Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a s) => LinearMap.range.{u1, u1, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.lsingle.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a)))) (supᵢ.{max u3 u2, succ u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) α (fun (a : α) => supᵢ.{max u3 u2, 0} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a t) (fun (H : Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a t) => LinearMap.range.{u1, u1, u2, max u3 u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, max u3 u2} R R M (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) _inst_4 (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.lsingle.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 a))))) Case conversion may be inaccurate. Consider using '#align finsupp.disjoint_lsingle_lsingle Finsupp.disjoint_lsingle_lsingleₓ'. -/ theorem disjoint_lsingle_lsingle (s t : Set α) (hs : Disjoint s t) : Disjoint (⨆ a ∈ s, (lsingle a : M →ₗ[R] α →₀ M).range) @@ -279,7 +279,7 @@ theorem disjoint_lsingle_lsingle (s t : Set α) (hs : Disjoint s t) : 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] (s : Set.{u2} M) (a : α), Eq.{succ (max u1 u2)} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.span.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Set.image.{u2, max u1 u2} M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) a) s)) (Submodule.map.{u3, u3, u2, max u1 u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomSurjective.ids.{u3} R _inst_1) (LinearMap.{u3, u3, u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.semilinearMapClass.{u3, u3, u2, max u1 u2} R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_4 (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lsingle.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 a) (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 s)) but is expected to have type - forall {α : Type.{u2}} {M : Type.{u3}} {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] (s : Set.{u3} M) (a : α), Eq.{max (succ u2) (succ u3)} (Submodule.{u1, max u3 u2} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.span.{u1, max u3 u2} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Set.image.{u3, max u3 u2} M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.single.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) a) s)) (Submodule.map.{u1, u1, u3, max u2 u3, max u2 u3} R R M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomSurjective.ids.{u1} R _inst_1) (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u3, max u2 u3} R R M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lsingle.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4 a) (Submodule.span.{u1, u3} R M _inst_1 _inst_3 _inst_4 s)) + forall {α : Type.{u2}} {M : Type.{u3}} {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] (s : Set.{u3} M) (a : α), Eq.{max (succ u2) (succ u3)} (Submodule.{u1, max u3 u2} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.module.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.span.{u1, max u3 u2} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.module.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Set.image.{u3, max u3 u2} M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.single.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) a) s)) (Submodule.map.{u1, u1, u3, max u2 u3, max u2 u3} R R M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_4 (Finsupp.module.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomSurjective.ids.{u1} R _inst_1) (LinearMap.{u1, u1, u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_3 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_4 (Finsupp.module.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u3, max u2 u3} R R M (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) _inst_4 (Finsupp.module.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lsingle.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4 a) (Submodule.span.{u1, u3} R M _inst_1 _inst_3 _inst_4 s)) Case conversion may be inaccurate. Consider using '#align finsupp.span_single_image Finsupp.span_single_imageₓ'. -/ theorem span_single_image (s : Set M) (a : α) : Submodule.span R (single a '' s) = (Submodule.span R s).map (lsingle a : M →ₗ[R] α →₀ M) := by @@ -292,7 +292,7 @@ variable (M R) 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], (Set.{u1} α) -> (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) but is expected to have type - 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], (Set.{u1} α) -> (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) + 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], (Set.{u1} α) -> (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.supported Finsupp.supportedₓ'. -/ /-- `finsupp.supported M R s` is the `R`-submodule of all `p : α →₀ M` such that `p.support ⊆ s`. -/ def supported (s : Set α) : Submodule R (α →₀ M) := @@ -314,7 +314,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] {s : Set.{u1} α} (p : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))), Iff (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) p (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) p)) s) 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] {s : Set.{u3} α} (p : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Iff (Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) p (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (HasSubset.Subset.{u3} (Set.{u3} α) (Set.instHasSubsetSet.{u3} α) (Finset.toSet.{u3} α (Finsupp.support.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) p)) s) + 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] {s : Set.{u3} α} (p : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Iff (Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) p (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (HasSubset.Subset.{u3} (Set.{u3} α) (Set.instHasSubsetSet.{u3} α) (Finset.toSet.{u3} α (Finsupp.support.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) p)) s) Case conversion may be inaccurate. Consider using '#align finsupp.mem_supported Finsupp.mem_supportedₓ'. -/ theorem mem_supported {s : Set α} (p : α →₀ M) : p ∈ supported M R s ↔ ↑p.support ⊆ s := Iff.rfl @@ -322,9 +322,9 @@ theorem mem_supported {s : Set α} (p : α →₀ M) : p ∈ supported M R s ↔ /- warning: finsupp.mem_supported' -> Finsupp.mem_supported' is a dubious translation: 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] {s : Set.{u1} α} (p : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))), Iff (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) p (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (forall (x : α), (Not (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s)) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => α -> M) (Finsupp.hasCoeToFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) p 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)))))))) + 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] {s : Set.{u1} α} (p : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))), Iff (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) p (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (forall (x : α), (Not (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s)) -> (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => α -> M) (Finsupp.coeFun.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) p 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.{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] {s : Set.{u3} α} (p : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Iff (Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) p (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (forall (x : α), (Not (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s)) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) p x) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) _inst_3)))))) + 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] {s : Set.{u3} α} (p : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Iff (Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) p (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (forall (x : α), (Not (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s)) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) p x) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) _inst_3)))))) Case conversion may be inaccurate. Consider using '#align finsupp.mem_supported' Finsupp.mem_supported'ₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » s) -/ theorem mem_supported' {s : Set α} (p : α →₀ M) : @@ -337,7 +337,7 @@ theorem mem_supported' {s : Set α} (p : α →₀ 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] (p : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))), Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) p (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Finsupp.support.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) p))) 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] (p : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) p (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Finset.toSet.{u3} α (Finsupp.support.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) p))) + 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] (p : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) p (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Finset.toSet.{u3} α (Finsupp.support.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) p))) Case conversion may be inaccurate. Consider using '#align finsupp.mem_supported_support Finsupp.mem_supported_supportₓ'. -/ theorem mem_supported_support (p : α →₀ M) : p ∈ Finsupp.supported M R (p.support : Set α) := by rw [Finsupp.mem_supported] @@ -347,7 +347,7 @@ theorem mem_supported_support (p : α →₀ M) : p ∈ Finsupp.supported M R (p 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] {s : Set.{u1} α} {a : α} (b : M), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) -> (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) a b) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) 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] {s : Set.{u3} α} {a : α} (b : M), (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a s) -> (Membership.mem.{max u2 u3, max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) a b) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) + 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] {s : Set.{u3} α} {a : α} (b : M), (Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) a s) -> (Membership.mem.{max u2 u3, max u2 u3} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.single.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) a b) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) Case conversion may be inaccurate. Consider using '#align finsupp.single_mem_supported Finsupp.single_mem_supportedₓ'. -/ theorem single_mem_supported {s : Set α} {a : α} (b : M) (h : a ∈ s) : single a b ∈ supported M R s := @@ -358,7 +358,7 @@ theorem single_mem_supported {s : Set α} {a : α} (b : M) (h : a ∈ s) : lean 3 declaration is forall {α : Type.{u1}} (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] (s : Set.{u1} α), Eq.{succ (max u1 u2)} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.supported.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1) s) (Submodule.span.{u2, max u1 u2} R (Finsupp.{u1, u2} α R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Set.image.{u1, max u1 u2} α (Finsupp.{u1, u2} α R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (fun (i : α) => Finsupp.single.{u1, u2} α R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) i (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)))))))) s)) but is expected to have type - forall {α : Type.{u2}} (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (s : Set.{u2} α), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.supported.{u2, u1, u1} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1) s) (Submodule.span.{u1, max u1 u2} R (Finsupp.{u2, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Set.image.{u2, max u1 u2} α (Finsupp.{u2, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (i : α) => Finsupp.single.{u2, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) i (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R _inst_1)))) s)) + forall {α : Type.{u2}} (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (s : Set.{u2} α), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.supported.{u2, u1, u1} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1) s) (Submodule.span.{u1, max u1 u2} R (Finsupp.{u2, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Set.image.{u2, max u1 u2} α (Finsupp.{u2, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (i : α) => Finsupp.single.{u2, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) i (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R _inst_1)))) s)) Case conversion may be inaccurate. Consider using '#align finsupp.supported_eq_span_single Finsupp.supported_eq_span_singleₓ'. -/ theorem supported_eq_span_single (s : Set α) : supported R R s = span R ((fun i => single i 1) '' s) := @@ -380,7 +380,7 @@ variable (M R) 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] (s : Set.{u1} α), LinearMap.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) but is expected to have type - 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] (s : Set.{u1} α), LinearMap.{u3, u3, max u2 u1, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) + 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] (s : Set.{u1} α), LinearMap.{u3, u3, max u2 u1, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) Case conversion may be inaccurate. Consider using '#align finsupp.restrict_dom Finsupp.restrictDomₓ'. -/ /-- Interpret `finsupp.filter s` as a linear map from `α →₀ M` to `supported M R s`. -/ def restrictDom (s : Set α) : (α →₀ M) →ₗ[R] supported M R s := @@ -399,7 +399,7 @@ section 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] (s : Set.{u1} α) (l : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))), Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) ((fun (a : Type.{max u1 u2}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{succ (max u1 u2), max (succ u1) (succ u2)} a b] => self.0) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (HasLiftT.mk.{succ (max u1 u2), max (succ u1) (succ u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (CoeTCₓ.coe.{succ (max u1 u2), max (succ u1) (succ u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeBase.{succ (max u1 u2), max (succ u1) (succ u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeSubtype.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (x : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)))))) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (fun (_x : LinearMap.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) => (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) -> (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, max u1 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.restrictDom.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s) l)) (Finsupp.filter.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) _x s) l) 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] (s : Set.{u3} α) (l : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.val.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Set.{max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Set.instMembershipSet.{max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) x (SetLike.coe.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearMap.{u1, u1, max u2 u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.restrictDom.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) l)) (Finsupp.filter.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (fun (_x : α) => Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) _x s) l) + 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] (s : Set.{u3} α) (l : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.val.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Set.{max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Set.instMembershipSet.{max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) x (SetLike.coe.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearMap.{u1, u1, max u2 u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.restrictDom.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) l)) (Finsupp.filter.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (fun (_x : α) => Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) _x s) l) Case conversion may be inaccurate. Consider using '#align finsupp.restrict_dom_apply Finsupp.restrictDom_applyₓ'. -/ @[simp] theorem restrictDom_apply (s : Set α) (l : α →₀ M) : @@ -413,7 +413,7 @@ end 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] (s : Set.{u1} α), Eq.{succ (max u1 u2)} (LinearMap.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.comp.{u3, u3, u3, max u1 u2, max u1 u2, max u1 u2} R R R (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) _inst_1 _inst_1 _inst_1 (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.right_ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.restrictDom.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s) (Submodule.subtype.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.id.{u3, max u1 u2} R (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) _inst_1 (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) 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] (s : Set.{u3} α), Eq.{max (succ u3) (succ u2)} (LinearMap.{u1, u1, max u3 u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.comp.{u1, u1, u1, max u3 u2, max u3 u2, max u3 u2} R R R (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomCompTriple.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.restrictDom.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (Submodule.subtype.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.id.{u1, max u3 u2} R (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) + 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] (s : Set.{u3} α), Eq.{max (succ u3) (succ u2)} (LinearMap.{u1, u1, max u3 u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.comp.{u1, u1, u1, max u3 u2, max u3 u2, max u3 u2} R R R (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomCompTriple.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.restrictDom.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (Submodule.subtype.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.id.{u1, max u3 u2} R (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) Case conversion may be inaccurate. Consider using '#align finsupp.restrict_dom_comp_subtype Finsupp.restrictDom_comp_subtypeₓ'. -/ theorem restrictDom_comp_subtype (s : Set α) : (restrictDom M R s).comp (Submodule.subtype _) = LinearMap.id := @@ -427,7 +427,7 @@ theorem restrictDom_comp_subtype (s : Set α) : 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] (s : Set.{u1} α), Eq.{succ (max u1 u2)} (Submodule.{u3, max u1 u2} R (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) _inst_1 (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.range.{u3, u3, max u1 u2, max u1 u2, max u1 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (LinearMap.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.semilinearMapClass.{u3, u3, max u1 u2, max u1 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (RingHomSurjective.ids.{u3} R _inst_1) (Finsupp.restrictDom.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Top.top.{max u1 u2} (Submodule.{u3, max u1 u2} R (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) _inst_1 (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (Submodule.hasTop.{u3, max u1 u2} R (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) _inst_1 (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)))) 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] (s : Set.{u3} α), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u3 u2} R (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.range.{u1, u1, max u3 u2, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.restrictDom.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Top.top.{max u3 u2} (Submodule.{u1, max u3 u2} R (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Submodule.instTopSubmodule.{u1, max u3 u2} R (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)))) + 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] (s : Set.{u3} α), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u3 u2} R (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.range.{u1, u1, max u3 u2, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u3, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.restrictDom.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Top.top.{max u3 u2} (Submodule.{u1, max u3 u2} R (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) (Submodule.instTopSubmodule.{u1, max u3 u2} R (Subtype.{succ (max u3 u2)} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u3 u2, max u3 u2} (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s)))) Case conversion may be inaccurate. Consider using '#align finsupp.range_restrict_dom Finsupp.range_restrictDomₓ'. -/ theorem range_restrictDom (s : Set α) : (restrictDom M R s).range = ⊤ := range_eq_top.2 <| @@ -438,7 +438,7 @@ theorem range_restrictDom (s : Set α) : (restrictDom M R s).range = ⊤ := 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] {s : Set.{u1} α} {t : Set.{u1} α}, (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s t) -> (LE.le.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.partialOrder.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 t)) 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] {s : Set.{u3} α} {t : Set.{u3} α}, (HasSubset.Subset.{u3} (Set.{u3} α) (Set.instHasSubsetSet.{u3} α) s t) -> (LE.le.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))))) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 t)) + 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] {s : Set.{u3} α} {t : Set.{u3} α}, (HasSubset.Subset.{u3} (Set.{u3} α) (Set.instHasSubsetSet.{u3} α) s t) -> (LE.le.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))))) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 t)) Case conversion may be inaccurate. Consider using '#align finsupp.supported_mono Finsupp.supported_monoₓ'. -/ theorem supported_mono {s t : Set α} (st : s ⊆ t) : supported M R s ≤ supported M R t := fun l h => Set.Subset.trans h st @@ -448,7 +448,7 @@ theorem supported_mono {s t : Set α} (st : s ⊆ t) : supported M R s ≤ suppo 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.{succ (max u1 u2)} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α))) (Bot.bot.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.hasBot.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) 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 (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (EmptyCollection.emptyCollection.{u3} (Set.{u3} α) (Set.instEmptyCollectionSet.{u3} α))) (Bot.bot.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instBotSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) + 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 (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (EmptyCollection.emptyCollection.{u3} (Set.{u3} α) (Set.instEmptyCollectionSet.{u3} α))) (Bot.bot.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instBotSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) Case conversion may be inaccurate. Consider using '#align finsupp.supported_empty Finsupp.supported_emptyₓ'. -/ @[simp] theorem supported_empty : supported M R (∅ : Set α) = ⊥ := @@ -459,7 +459,7 @@ theorem supported_empty : supported M R (∅ : Set α) = ⊥ := 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.{succ (max u1 u2)} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 (Set.univ.{u1} α)) (Top.top.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.hasTop.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) 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 (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Set.univ.{u3} α)) (Top.top.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instTopSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) + 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 (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Set.univ.{u3} α)) (Top.top.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instTopSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4))) Case conversion may be inaccurate. Consider using '#align finsupp.supported_univ Finsupp.supported_univₓ'. -/ @[simp] theorem supported_univ : supported M R (Set.univ : Set α) = ⊤ := @@ -470,7 +470,7 @@ theorem supported_univ : supported M R (Set.univ : Set α) = ⊤ := 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] {δ : Type.{u4}} (s : δ -> (Set.{u1} α)), Eq.{succ (max u1 u2)} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 (Set.unionᵢ.{u1, succ u4} α δ (fun (i : δ) => s i))) (supᵢ.{max u1 u2, succ u4} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toHasSup.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)))) δ (fun (i : δ) => Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 (s i))) 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] {δ : Type.{u4}} (s : δ -> (Set.{u3} α)), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Set.unionᵢ.{u3, succ u4} α δ (fun (i : δ) => s i))) (supᵢ.{max u2 u3, succ u4} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) δ (fun (i : δ) => Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (s i))) + 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] {δ : Type.{u4}} (s : δ -> (Set.{u3} α)), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Set.unionᵢ.{u3, succ u4} α δ (fun (i : δ) => s i))) (supᵢ.{max u2 u3, succ u4} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toSupSet.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) δ (fun (i : δ) => Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (s i))) Case conversion may be inaccurate. Consider using '#align finsupp.supported_Union Finsupp.supported_unionᵢₓ'. -/ theorem supported_unionᵢ {δ : Type _} (s : δ → Set α) : supported M R (⋃ i, s i) = ⨆ i, supported M R (s i) := @@ -494,7 +494,7 @@ theorem supported_unionᵢ {δ : Type _} (s : δ → Set α) : 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] (s : Set.{u1} α) (t : Set.{u1} α), Eq.{succ (max u1 u2)} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 (Union.union.{u1} (Set.{u1} α) (Set.hasUnion.{u1} α) s t)) (Sup.sup.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SemilatticeSup.toHasSup.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Lattice.toSemilatticeSup.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toLattice.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)))))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 t)) 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] (s : Set.{u3} α) (t : Set.{u3} α), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Union.union.{u3} (Set.{u3} α) (Set.instUnionSet.{u3} α) s t)) (Sup.sup.{max u2 u3} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SemilatticeSup.toSup.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Lattice.toSemilatticeSup.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toLattice.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))))) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 t)) + 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] (s : Set.{u3} α) (t : Set.{u3} α), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Union.union.{u3} (Set.{u3} α) (Set.instUnionSet.{u3} α) s t)) (Sup.sup.{max u2 u3} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (SemilatticeSup.toSup.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Lattice.toSemilatticeSup.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (ConditionallyCompleteLattice.toLattice.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))))) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 t)) Case conversion may be inaccurate. Consider using '#align finsupp.supported_union Finsupp.supported_unionₓ'. -/ theorem supported_union (s t : Set α) : supported M R (s ∪ t) = supported M R s ⊔ supported M R t := by erw [Set.union_eq_unionᵢ, supported_Union, supᵢ_bool_eq] <;> rfl @@ -504,7 +504,7 @@ theorem supported_union (s t : Set α) : supported M R (s ∪ t) = supported M R 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] {ι : Type.{u4}} (s : ι -> (Set.{u1} α)), Eq.{succ (max u1 u2)} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 (Set.interᵢ.{u1, succ u4} α ι (fun (i : ι) => s i))) (infᵢ.{max u1 u2, succ u4} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.hasInf.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 (s i))) 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] {ι : Type.{u4}} (s : ι -> (Set.{u3} α)), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Set.interᵢ.{u3, succ u4} α ι (fun (i : ι) => s i))) (infᵢ.{max u2 u3, succ u4} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instInfSetSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (s i))) + 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] {ι : Type.{u4}} (s : ι -> (Set.{u3} α)), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Set.interᵢ.{u3, succ u4} α ι (fun (i : ι) => s i))) (infᵢ.{max u2 u3, succ u4} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instInfSetSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (s i))) Case conversion may be inaccurate. Consider using '#align finsupp.supported_Inter Finsupp.supported_interᵢₓ'. -/ theorem supported_interᵢ {ι : Type _} (s : ι → Set α) : supported M R (⋂ i, s i) = ⨅ i, supported M R (s i) := @@ -515,7 +515,7 @@ theorem supported_interᵢ {ι : Type _} (s : ι → Set α) : 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] (s : Set.{u1} α) (t : Set.{u1} α), Eq.{succ (max u1 u2)} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) s t)) (Inf.inf.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Submodule.hasInf.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 t)) 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] (s : Set.{u3} α) (t : Set.{u3} α), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Inter.inter.{u3} (Set.{u3} α) (Set.instInterSet.{u3} α) s t)) (Inf.inf.{max u2 u3} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instInfSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 t)) + 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] (s : Set.{u3} α) (t : Set.{u3} α), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Inter.inter.{u3} (Set.{u3} α) (Set.instInterSet.{u3} α) s t)) (Inf.inf.{max u2 u3} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.instInfSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 t)) Case conversion may be inaccurate. Consider using '#align finsupp.supported_inter Finsupp.supported_interₓ'. -/ theorem supported_inter (s t : Set α) : supported M R (s ∩ t) = supported M R s ⊓ supported M R t := by rw [Set.inter_eq_interᵢ, supported_Inter, infᵢ_bool_eq] <;> rfl @@ -525,7 +525,7 @@ theorem supported_inter (s t : Set α) : supported M R (s ∩ t) = supported M R 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] {s : Set.{u1} α} {t : Set.{u1} α}, (Disjoint.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} α) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α))) s t) -> (Disjoint.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.partialOrder.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Submodule.orderBot.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 t)) 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] {s : Set.{u3} α} {t : Set.{u3} α}, (Disjoint.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) (BoundedOrder.toOrderBot.{u3} (Set.{u3} α) (Preorder.toLE.{u3} (Set.{u3} α) (PartialOrder.toPreorder.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))))) (CompleteLattice.toBoundedOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) s t) -> (Disjoint.{max u2 u3} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 t)) + 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] {s : Set.{u3} α} {t : Set.{u3} α}, (Disjoint.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) (BoundedOrder.toOrderBot.{u3} (Set.{u3} α) (Preorder.toLE.{u3} (Set.{u3} α) (PartialOrder.toPreorder.{u3} (Set.{u3} α) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} α) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))))) (CompleteLattice.toBoundedOrder.{u3} (Set.{u3} α) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} α) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} α) (Set.instCompleteBooleanAlgebraSet.{u3} α)))))) s t) -> (Disjoint.{max u2 u3} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 t)) Case conversion may be inaccurate. Consider using '#align finsupp.disjoint_supported_supported Finsupp.disjoint_supported_supportedₓ'. -/ theorem disjoint_supported_supported {s t : Set α} (h : Disjoint s t) : Disjoint (supported M R s) (supported M R t) := @@ -536,7 +536,7 @@ theorem disjoint_supported_supported {s t : Set α} (h : Disjoint s t) : 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] [_inst_9 : Nontrivial.{u2} M] {s : Set.{u1} α} {t : Set.{u1} α}, Iff (Disjoint.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.partialOrder.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Submodule.orderBot.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 t)) (Disjoint.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} α) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α))) s t) but is expected to have type - forall {α : Type.{u2}} {M : Type.{u3}} {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_9 : Nontrivial.{u3} M] {s : Set.{u2} α} {t : Set.{u2} α}, Iff (Disjoint.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u2 u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u2 u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u2 u3} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, max u2 u3} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4 t)) (Disjoint.{u2} (Set.{u2} α) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} α) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} α) (Preorder.toLE.{u2} (Set.{u2} α) (PartialOrder.toPreorder.{u2} (Set.{u2} α) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} α) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))) s t) + forall {α : Type.{u2}} {M : Type.{u3}} {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_9 : Nontrivial.{u3} M] {s : Set.{u2} α} {t : Set.{u2} α}, Iff (Disjoint.{max u3 u2} (Submodule.{u1, max u3 u2} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.module.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u2 u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.module.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u2 u3} (Submodule.{u1, max u3 u2} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.module.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u2 u3} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.module.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, max u2 u3} R (Finsupp.{u2, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α M _inst_3) (Finsupp.module.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4 s) (Finsupp.supported.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4 t)) (Disjoint.{u2} (Set.{u2} α) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} α) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} α) (Preorder.toLE.{u2} (Set.{u2} α) (PartialOrder.toPreorder.{u2} (Set.{u2} α) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} α) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))) s t) Case conversion may be inaccurate. Consider using '#align finsupp.disjoint_supported_supported_iff Finsupp.disjoint_supported_supported_iffₓ'. -/ theorem disjoint_supported_supported_iff [Nontrivial M] {s t : Set α} : Disjoint (supported M R s) (supported M R t) ↔ Disjoint s t := @@ -552,7 +552,7 @@ theorem disjoint_supported_supported_iff [Nontrivial M] {s t : Set α} : 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] (s : Set.{u1} α), LinearEquiv.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.addCommMonoid.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M _inst_3) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) M R _inst_1 _inst_3 _inst_4) but is expected to have type - 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] (s : Set.{u1} α), LinearEquiv.{u3, u3, max u1 u2, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Subtype.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.{u1, u2} (Set.Elem.{u1} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.addCommMonoid.{u1, u2} (Set.Elem.{u1} α s) M _inst_3) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} (Set.Elem.{u1} α s) M R _inst_1 _inst_3 _inst_4) + 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] (s : Set.{u1} α), LinearEquiv.{u3, u3, max u1 u2, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Subtype.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (Finsupp.{u1, u2} (Set.Elem.{u1} α s) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.addCommMonoid.{u1, u2} (Set.Elem.{u1} α s) M _inst_3) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.module.{u1, u2, u3} (Set.Elem.{u1} α s) M R _inst_1 _inst_3 _inst_4) Case conversion may be inaccurate. Consider using '#align finsupp.supported_equiv_finsupp Finsupp.supportedEquivFinsuppₓ'. -/ /-- Interpret `finsupp.restrict_support_equiv` as a linear equivalence between `supported M R s` and `s →₀ M`. -/ @@ -576,7 +576,7 @@ variable (S) [Module S N] [SMulCommClass R S N] lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} (S : Type.{u5}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u5} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u5, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u4, u5, u3} R S N (SMulZeroClass.toHasSmul.{u4, u3} R N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (SMulWithZero.toSmulZeroClass.{u4, u3} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (MulActionWithZero.toSMulWithZero.{u4, u3} R N (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Module.toMulActionWithZero.{u4, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toHasSmul.{u5, u3} S N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (SMulWithZero.toSmulZeroClass.{u5, u3} S N (MulZeroClass.toHasZero.{u5} S (MulZeroOneClass.toMulZeroClass.{u5} S (MonoidWithZero.toMulZeroOneClass.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (MulActionWithZero.toSMulWithZero.{u5, u3} S N (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Module.toMulActionWithZero.{u5, u3} S N _inst_2 _inst_5 _inst_9))))], LinearEquiv.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} (S : Type.{u5}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u5} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u5, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u4, u5, u3} R S N (SMulZeroClass.toSMul.{u4, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u3} R N (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u3} R N (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u4, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u5, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u5, u3} S N (MonoidWithZero.toZero.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u5, u3} S N (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u5, u3} S N _inst_2 _inst_5 _inst_9))))], LinearEquiv.{u5, u5, max (max u1 u2) u3, max u3 u2 u1} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.module.{u1, max u2 u3, u5} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} (S : Type.{u5}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u5} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u5, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u4, u5, u3} R S N (SMulZeroClass.toSMul.{u4, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u3} R N (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u3} R N (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u4, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u5, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u5, u3} S N (MonoidWithZero.toZero.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u5, u3} S N (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u5, u3} S N _inst_2 _inst_5 _inst_9))))], LinearEquiv.{u5, u5, max (max u1 u2) u3, max u3 u2 u1} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.module.{u1, max u2 u3, u5} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) Case conversion may be inaccurate. Consider using '#align finsupp.lsum Finsupp.lsumₓ'. -/ /-- Lift a family of linear maps `M →ₗ[R] N` indexed by `x : α` to a linear map from `α →₀ M` to `N` using `finsupp.sum`. This is an upgraded version of `finsupp.lift_add_hom`. @@ -608,7 +608,7 @@ def lsum : (α → M →ₗ[R] N) ≃ₗ[S] (α →₀ M) →ₗ[R] N lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} (S : Type.{u5}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u5} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u5, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u4, u5, u3} R S N (SMulZeroClass.toHasSmul.{u4, u3} R N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (SMulWithZero.toSmulZeroClass.{u4, u3} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (MulActionWithZero.toSMulWithZero.{u4, u3} R N (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Module.toMulActionWithZero.{u4, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toHasSmul.{u5, u3} S N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (SMulWithZero.toSmulZeroClass.{u5, u3} S N (MulZeroClass.toHasZero.{u5} S (MulZeroOneClass.toMulZeroClass.{u5} S (MonoidWithZero.toMulZeroOneClass.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (MulActionWithZero.toSMulWithZero.{u5, u3} S N (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Module.toMulActionWithZero.{u5, u3} S N _inst_2 _inst_5 _inst_9))))] (f : α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (_x : LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) => (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) -> N) (coeFn.{max (succ (max u1 u2 u3)) (succ (max (max u1 u2) u3)), max (succ (max u1 u2 u3)) (succ (max (max u1 u2) u3))} (LinearEquiv.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (fun (_x : LinearEquiv.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) => (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) -> (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2)) (Finsupp.lsum.{u1, u2, u3, u4, u5} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10) f)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (fun (_x : LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) => (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) -> N) (LinearMap.hasCoeToFun.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max (max u1 u2) u3)), max (succ (max u1 u2 u3)) (succ (max (max u1 u2) u3))} (LinearEquiv.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (fun (_x : LinearEquiv.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) => (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) -> (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2)) (Finsupp.lsum.{u1, u2, u3, u4, u5} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10) f)) (fun (d : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_5 d (fun (i : α) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (_x : LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (f i))) but is expected to have type - forall {α : Type.{u2}} {M : Type.{u4}} {N : Type.{u3}} {R : Type.{u5}} (S : Type.{u1}) [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u5, u4} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u5, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u1, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u5, u1, u3} R S N (SMulZeroClass.toSMul.{u5, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u5, u3} R N (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_1)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u5, u3} R N (Semiring.toMonoidWithZero.{u5} R _inst_1) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u5, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u1, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u3} S N (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u3} S N (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u1, u3} S N _inst_2 _inst_5 _inst_9))))] (f : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)), Eq.{max (max (succ u2) (succ u4)) (succ u3)} (forall (a : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) a) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u2) (succ u4), succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) f) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (fun (_x : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (fun (_x : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toZero.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toZero.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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 (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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.lsum.{u2, u4, u3, u5, u1} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10) f)) (fun (d : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => Finsupp.sum.{u2, u4, u3} α M ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) d) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) _inst_5 d (fun (i : α) => FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (f i))) + forall {α : Type.{u2}} {M : Type.{u4}} {N : Type.{u3}} {R : Type.{u5}} (S : Type.{u1}) [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u5, u4} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u5, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u1, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u5, u1, u3} R S N (SMulZeroClass.toSMul.{u5, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u5, u3} R N (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_1)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u5, u3} R N (Semiring.toMonoidWithZero.{u5} R _inst_1) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u5, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u1, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u3} S N (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u3} S N (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u1, u3} S N _inst_2 _inst_5 _inst_9))))] (f : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)), Eq.{max (max (succ u2) (succ u4)) (succ u3)} (forall (a : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) a) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u2) (succ u4), succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) f) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (fun (_x : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (fun (_x : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toZero.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toZero.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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 (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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.lsum.{u2, u4, u3, u5, u1} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10) f)) (fun (d : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => Finsupp.sum.{u2, u4, u3} α M ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) d) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) _inst_5 d (fun (i : α) => FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (f i))) Case conversion may be inaccurate. Consider using '#align finsupp.coe_lsum Finsupp.coe_lsumₓ'. -/ @[simp] theorem coe_lsum (f : α → M →ₗ[R] N) : (lsum S f : (α →₀ M) → N) = fun d => d.Sum fun i => f i := @@ -619,7 +619,7 @@ theorem coe_lsum (f : α → M →ₗ[R] N) : (lsum S f : (α →₀ M) → N) = lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} (S : Type.{u5}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u5} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u5, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u4, u5, u3} R S N (SMulZeroClass.toHasSmul.{u4, u3} R N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (SMulWithZero.toSmulZeroClass.{u4, u3} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (MulActionWithZero.toSMulWithZero.{u4, u3} R N (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Module.toMulActionWithZero.{u4, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toHasSmul.{u5, u3} S N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (SMulWithZero.toSmulZeroClass.{u5, u3} S N (MulZeroClass.toHasZero.{u5} S (MulZeroOneClass.toMulZeroClass.{u5} S (MonoidWithZero.toMulZeroOneClass.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (MulActionWithZero.toSMulWithZero.{u5, u3} S N (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Module.toMulActionWithZero.{u5, u3} S N _inst_2 _inst_5 _inst_9))))] (f : α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (l : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))), Eq.{succ u3} N (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (fun (_x : LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) => (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) -> N) (LinearMap.hasCoeToFun.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max (max u1 u2) u3)), max (succ (max u1 u2 u3)) (succ (max (max u1 u2) u3))} (LinearEquiv.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (fun (_x : LinearEquiv.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) => (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) -> (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2)) (Finsupp.lsum.{u1, u2, u3, u4, u5} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10) f) l) (Finsupp.sum.{u1, u2, u3} α M N (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_5 l (fun (b : α) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (_x : LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (f b))) but is expected to have type - forall {α : Type.{u2}} {M : Type.{u4}} {N : Type.{u3}} {R : Type.{u5}} (S : Type.{u1}) [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u5, u4} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u5, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u1, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u5, u1, u3} R S N (SMulZeroClass.toSMul.{u5, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u5, u3} R N (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_1)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u5, u3} R N (Semiring.toMonoidWithZero.{u5} R _inst_1) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u5, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u1, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u3} S N (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u3} S N (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u1, u3} S N _inst_2 _inst_5 _inst_9))))] (f : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (l : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) l) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u2) (succ u4), succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) f) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (fun (_x : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (fun (_x : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toZero.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toZero.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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 (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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.lsum.{u2, u4, u3, u5, u1} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10) f) l) (Finsupp.sum.{u2, u4, u3} α M N (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) _inst_5 l (fun (b : α) => FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (f b))) + forall {α : Type.{u2}} {M : Type.{u4}} {N : Type.{u3}} {R : Type.{u5}} (S : Type.{u1}) [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u5, u4} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u5, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u1, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u5, u1, u3} R S N (SMulZeroClass.toSMul.{u5, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u5, u3} R N (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_1)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u5, u3} R N (Semiring.toMonoidWithZero.{u5} R _inst_1) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u5, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u1, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u3} S N (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u3} S N (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u1, u3} S N _inst_2 _inst_5 _inst_9))))] (f : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (l : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) l) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u2) (succ u4), succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) f) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (fun (_x : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (fun (_x : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toZero.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toZero.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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 (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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.lsum.{u2, u4, u3, u5, u1} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10) f) l) (Finsupp.sum.{u2, u4, u3} α M N (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) _inst_5 l (fun (b : α) => FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (f b))) Case conversion may be inaccurate. Consider using '#align finsupp.lsum_apply Finsupp.lsum_applyₓ'. -/ theorem lsum_apply (f : α → M →ₗ[R] N) (l : α →₀ M) : Finsupp.lsum S f l = l.Sum fun b => f b := rfl @@ -629,7 +629,7 @@ theorem lsum_apply (f : α → M →ₗ[R] N) (l : α →₀ M) : Finsupp.lsum S lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} (S : Type.{u5}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u5} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u5, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u4, u5, u3} R S N (SMulZeroClass.toHasSmul.{u4, u3} R N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (SMulWithZero.toSmulZeroClass.{u4, u3} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (MulActionWithZero.toSMulWithZero.{u4, u3} R N (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Module.toMulActionWithZero.{u4, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toHasSmul.{u5, u3} S N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (SMulWithZero.toSmulZeroClass.{u5, u3} S N (MulZeroClass.toHasZero.{u5} S (MulZeroOneClass.toMulZeroClass.{u5} S (MonoidWithZero.toMulZeroOneClass.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (MulActionWithZero.toSMulWithZero.{u5, u3} S N (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Module.toMulActionWithZero.{u5, u3} S N _inst_2 _inst_5 _inst_9))))] (f : α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (i : α) (m : M), Eq.{succ u3} N (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (fun (_x : LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) => (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) -> N) (LinearMap.hasCoeToFun.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max (max u1 u2) u3)), max (succ (max u1 u2 u3)) (succ (max (max u1 u2) u3))} (LinearEquiv.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (fun (_x : LinearEquiv.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) => (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) -> (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2)) (Finsupp.lsum.{u1, u2, u3, u4, u5} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10) f) (Finsupp.single.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) i m)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (_x : LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) => M -> N) (LinearMap.hasCoeToFun.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (f i) m) but is expected to have type - forall {α : Type.{u2}} {M : Type.{u4}} {N : Type.{u3}} {R : Type.{u5}} (S : Type.{u1}) [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u5, u4} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u5, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u1, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u5, u1, u3} R S N (SMulZeroClass.toSMul.{u5, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u5, u3} R N (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_1)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u5, u3} R N (Semiring.toMonoidWithZero.{u5} R _inst_1) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u5, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u1, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u3} S N (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u3} S N (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u1, u3} S N _inst_2 _inst_5 _inst_9))))] (f : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (i : α) (m : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) (Finsupp.single.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) i m)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u2) (succ u4), succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) f) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (fun (_x : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (fun (_x : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toZero.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toZero.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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 (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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.lsum.{u2, u4, u3, u5, u1} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10) f) (Finsupp.single.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) i m)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (f i) m) + forall {α : Type.{u2}} {M : Type.{u4}} {N : Type.{u3}} {R : Type.{u5}} (S : Type.{u1}) [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u5, u4} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u5, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u1, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u5, u1, u3} R S N (SMulZeroClass.toSMul.{u5, u3} R N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u5, u3} R N (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_1)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u5, u3} R N (Semiring.toMonoidWithZero.{u5} R _inst_1) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u5, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u1, u3} S N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u3} S N (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u3} S N (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)) (Module.toMulActionWithZero.{u1, u3} S N _inst_2 _inst_5 _inst_9))))] (f : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (i : α) (m : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) (Finsupp.single.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) i m)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u2) (succ u4), succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) f) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (fun (_x : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (fun (_x : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) => LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toZero.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toZero.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} S (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u3 u4 u2} 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.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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 (max u3 u4) u2, max (max u3 u4) u2} S S (α -> (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u2, max u4 u3} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u2 u4, u3} R R (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u2, max u4 u3, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u2 u4, u3} R R S (Finsupp.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u4} α M _inst_3) _inst_5 (Finsupp.module.{u2, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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.lsum.{u2, u4, u3, u5, u1} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10) f) (Finsupp.single.{u2, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) i m)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (f i) m) Case conversion may be inaccurate. Consider using '#align finsupp.lsum_single Finsupp.lsum_singleₓ'. -/ theorem lsum_single (f : α → M →ₗ[R] N) (i : α) (m : M) : Finsupp.lsum S f (Finsupp.single i m) = f i m := @@ -640,7 +640,7 @@ theorem lsum_single (f : α → M →ₗ[R] N) (i : α) (m : M) : lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} (S : Type.{u5}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u5} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] [_inst_9 : Module.{u5, u3} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u4, u5, u3} R S N (SMulZeroClass.toHasSmul.{u4, u3} R N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (SMulWithZero.toSmulZeroClass.{u4, u3} R N (MulZeroClass.toHasZero.{u4} R (MulZeroOneClass.toMulZeroClass.{u4} R (MonoidWithZero.toMulZeroOneClass.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (MulActionWithZero.toSMulWithZero.{u4, u3} R N (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Module.toMulActionWithZero.{u4, u3} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toHasSmul.{u5, u3} S N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (SMulWithZero.toSmulZeroClass.{u5, u3} S N (MulZeroClass.toHasZero.{u5} S (MulZeroOneClass.toMulZeroClass.{u5} S (MonoidWithZero.toMulZeroOneClass.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)))) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (MulActionWithZero.toSMulWithZero.{u5, u3} S N (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Module.toMulActionWithZero.{u5, u3} S N _inst_2 _inst_5 _inst_9))))] (f : LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (x : α), Eq.{max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (coeFn.{max (succ (max (max u1 u2) u3)) (succ (max u1 u2 u3)), max (succ (max (max u1 u2) u3)) (succ (max u1 u2 u3))} (LinearEquiv.{u5, u5, max (max u1 u2) u3, max u1 u2 u3} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10))) (fun (_x : LinearEquiv.{u5, u5, max (max u1 u2) u3, max u1 u2 u3} S S _inst_2 _inst_2 (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10))) => (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) -> α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearEquiv.hasCoeToFun.{u5, u5, max (max u1 u2) u3, max u1 u2 u3} S S (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 _inst_2 (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2)) (LinearEquiv.symm.{u5, u5, max u1 u2 u3, max (max u1 u2) u3} S S (α -> (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u4, u4, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u1, max u2 u3} α (fun (ᾰ : α) => LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) (LinearMap.addCommMonoid.{u4, u4, max u1 u2, u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Pi.Function.module.{u1, u5, max u2 u3} α S (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_2 (LinearMap.addCommMonoid.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (LinearMap.module.{u4, u4, u5, u2, u3} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.module.{u4, u4, u5, max u1 u2, u3} R R S (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) _inst_2 _inst_9 _inst_10) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHom.id.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (RingHomInvPair.ids.{u5} S _inst_2) (RingHomInvPair.ids.{u5} S _inst_2) (Finsupp.lsum.{u1, u2, u3, u4, u5} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10)) f x) (LinearMap.comp.{u4, u4, u4, u2, max u1 u2, u3} R R R M (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) N _inst_1 _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) _inst_5 _inst_4 (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomCompTriple.right_ids.{u4, u4} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) f (Finsupp.lsingle.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4 x)) but is expected to have type - forall {α : Type.{u3}} {M : Type.{u4}} {N : Type.{u2}} {R : Type.{u5}} (S : Type.{u1}) [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u5, u4} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u5, u2} R N _inst_1 _inst_5] [_inst_9 : Module.{u1, u2} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u5, u1, u2} R S N (SMulZeroClass.toSMul.{u5, u2} R N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u5, u2} R N (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_1)) (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u5, u2} R N (Semiring.toMonoidWithZero.{u5} R _inst_1) (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (Module.toMulActionWithZero.{u5, u2} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u1, u2} S N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} S N (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} S N (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (Module.toMulActionWithZero.{u1, u2} S N _inst_2 _inst_5 _inst_9))))] (f : LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (x : α), Eq.{max (succ u4) (succ u2)} (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (max (succ u2) (succ u4)) (succ u3), max (max (succ u2) (succ u4)) (succ u3)} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max (max u2 u4) 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.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (fun (_x : LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) => α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _x) (SMulHomClass.toFunLike.{max (max u2 u4) u3, u1, max (max u2 u4) u3, max (max u2 u4) u3} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max (max u2 u4) 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.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (SMulZeroClass.toSMul.{u1, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toZero.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toAddZeroClass.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))))) (SMulZeroClass.toSMul.{u1, max (max u2 u4) u3} S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toZero.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u2 u4) u3} S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toAddZeroClass.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max (max u2 u4) u3} S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (Module.toDistribMulAction.{u1, max (max u2 u4) u3} S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u4) u3, u1, max (max u2 u4) u3, max (max u2 u4) u3} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max (max u2 u4) 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.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (Module.toDistribMulAction.{u1, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (Module.toDistribMulAction.{u1, max (max u2 u4) u3} S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u2 u4) u3, max (max u2 u4) u3, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max (max u2 u4) 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.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u2 u4) u3, max (max u2 u4) u3, max (max u2 u4) u3} S S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max (max u2 u4) 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.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) _inst_2 _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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 (max u2 u4) u3, max (max u2 u4) u3} S S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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.symm.{u1, u1, max (max u2 u4) u3, max (max u2 u4) u3} S S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u3, max u4 u2} α (fun (ᾰ : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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.lsum.{u3, u4, u2, u5, u1} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10)) f x) (LinearMap.comp.{u5, u5, u5, u4, max u3 u4, u2} R R R M (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) f (Finsupp.lsingle.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4 x)) + forall {α : Type.{u3}} {M : Type.{u4}} {N : Type.{u2}} {R : Type.{u5}} (S : Type.{u1}) [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u5, u4} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u5, u2} R N _inst_1 _inst_5] [_inst_9 : Module.{u1, u2} S N _inst_2 _inst_5] [_inst_10 : SMulCommClass.{u5, u1, u2} R S N (SMulZeroClass.toSMul.{u5, u2} R N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u5, u2} R N (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_1)) (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u5, u2} R N (Semiring.toMonoidWithZero.{u5} R _inst_1) (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (Module.toMulActionWithZero.{u5, u2} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u1, u2} S N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} S N (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} S N (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)) (Module.toMulActionWithZero.{u1, u2} S N _inst_2 _inst_5 _inst_9))))] (f : LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (x : α), Eq.{max (succ u4) (succ u2)} (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (max (succ u2) (succ u4)) (succ u3), max (max (succ u2) (succ u4)) (succ u3)} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max (max u2 u4) 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.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (fun (_x : LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) => α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _x) (SMulHomClass.toFunLike.{max (max u2 u4) u3, u1, max (max u2 u4) u3, max (max u2 u4) u3} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max (max u2 u4) 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.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (SMulZeroClass.toSMul.{u1, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toZero.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribSMul.toSMulZeroClass.{u1, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddMonoid.toAddZeroClass.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Module.toDistribMulAction.{u1, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))))) (SMulZeroClass.toSMul.{u1, max (max u2 u4) u3} S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toZero.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u2 u4) u3} S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddMonoid.toAddZeroClass.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, max (max u2 u4) u3} S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (Module.toDistribMulAction.{u1, max (max u2 u4) u3} S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u4) u3, u1, max (max u2 u4) u3, max (max u2 u4) u3} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max (max u2 u4) 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.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u2 u4) u3} (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))))) (Module.toDistribMulAction.{u1, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (Module.toDistribMulAction.{u1, max (max u2 u4) u3} S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u2 u4) u3, max (max u2 u4) u3, max (max u2 u4) u3} S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max (max u2 u4) 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.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u2 u4) u3, max (max u2 u4) u3, max (max u2 u4) u3} S S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearEquiv.{u1, u1, max (max u2 u4) u3, max (max u2 u4) 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.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10))) _inst_2 _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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 (max u2 u4) u3, max (max u2 u4) u3} S S (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) _inst_2 _inst_2 (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.addCommMonoid.{u3, max u4 u2} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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.symm.{u1, u1, max (max u2 u4) u3, max (max u2 u4) u3} S S (α -> (LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6)) (LinearMap.{u5, u5, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6) _inst_2 _inst_2 (Pi.addCommMonoid.{u3, max u4 u2} α (fun (ᾰ : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)))) (LinearMap.addCommMonoid.{u5, u5, max u3 u4, u2} R R (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Pi.module.{u3, max u4 u2, u1} α (fun (a._@.Mathlib.LinearAlgebra.Finsupp._hyg.4414 : α) => LinearMap.{u5, u5, u4, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) S _inst_2 (fun (i : α) => LinearMap.addCommMonoid.{u5, u5, u4, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (fun (i : α) => LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, u4, u2} R R S M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_2 _inst_9 _inst_10)) (LinearMap.instModuleLinearMapAddCommMonoid.{u5, u5, u1, max u3 u4, u2} R R S (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} 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.lsum.{u3, u4, u2, u5, u1} α M N R S _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_9 _inst_10)) f x) (LinearMap.comp.{u5, u5, u5, u4, max u3 u4, u2} R R R M (Finsupp.{u3, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) N _inst_1 _inst_1 _inst_1 _inst_3 (Finsupp.addCommMonoid.{u3, u4} α M _inst_3) _inst_5 _inst_4 (Finsupp.module.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4) _inst_6 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) f (Finsupp.lsingle.{u3, u4, u5} α M R _inst_1 _inst_3 _inst_4 x)) Case conversion may be inaccurate. Consider using '#align finsupp.lsum_symm_apply Finsupp.lsum_symm_applyₓ'. -/ theorem lsum_symm_apply (f : (α →₀ M) →ₗ[R] N) (x : α) : (lsum S).symm f x = f.comp (lsingle x) := rfl @@ -656,7 +656,7 @@ variable (M) (R) (X : Type _) 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}), 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))) 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}), 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) + 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}), 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 (ᾰ : 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))) Case conversion may be inaccurate. Consider using '#align finsupp.lift Finsupp.liftₓ'. -/ /-- A slight rearrangement from `lsum` gives us the bijection underlying the free-forgetful adjunction for R-modules. @@ -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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.398 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6178 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.398 : 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.4920 : 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.4920 : 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.4920 : 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.4920 : 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.4920 : 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.4920 : 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.4920 : 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.6178 : 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,7 +681,7 @@ 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.6178 : 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.398 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6178 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.398 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.4920 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6178 : 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.398 : 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.6178 : 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.4920 : 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.398 : 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.4920 : 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.4920 : 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.4920 : 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.4920 : 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.4920 : 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.4920 : 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.4920 : 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 := @@ -698,7 +698,7 @@ variable {α' : Type _} {α'' : Type _} (M R) 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] {α' : Type.{u4}}, (α -> α') -> (LinearMap.{u3, u3, max u1 u2, max u4 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) but is expected to have type - 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] {α' : Type.{u4}}, (α -> α') -> (LinearMap.{u3, u3, max u2 u1, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) + 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] {α' : Type.{u4}}, (α -> α') -> (LinearMap.{u3, u3, max u2 u1, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.lmap_domain Finsupp.lmapDomainₓ'. -/ /-- Interpret `finsupp.map_domain` as a linear map. -/ def lmapDomain (f : α → α') : (α →₀ M) →ₗ[R] α' →₀ M @@ -712,7 +712,7 @@ def lmapDomain (f : α → α') : (α →₀ M) →ₗ[R] α' →₀ 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] {α' : Type.{u4}} (f : α -> α') (l : Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))), Eq.{max (succ u4) (succ u2)} (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (coeFn.{max (succ (max u1 u2)) (succ (max u4 u2)), max (succ (max u1 u2)) (succ (max u4 u2))} (LinearMap.{u3, u3, max u1 u2, max u4 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) (fun (_x : LinearMap.{u3, u3, max u1 u2, max u4 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) => (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) -> (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))) (LinearMap.hasCoeToFun.{u3, u3, max u1 u2, max u4 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lmapDomain.{u1, u2, u3, u4} α M R _inst_1 _inst_3 _inst_4 α' f) l) (Finsupp.mapDomain.{u1, u4, u2} α α' M _inst_3 f l) but is expected to have type - forall {α : Type.{u4}} (M : Type.{u3}) (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] {α' : Type.{u2}} (f : α -> α') (l : Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) l) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u3), max (succ u3) (succ u2)} (LinearMap.{u1, u1, max u3 u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.addCommMonoid.{u4, u3} α M _inst_3) (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (fun (_x : Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u4 u3, max u3 u2} R R (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} α M _inst_3) (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lmapDomain.{u4, u3, u1, u2} α M R _inst_1 _inst_3 _inst_4 α' f) l) (Finsupp.mapDomain.{u4, u2, u3} α α' M _inst_3 f l) + forall {α : Type.{u4}} (M : Type.{u3}) (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] {α' : Type.{u2}} (f : α -> α') (l : Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) l) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u3), max (succ u3) (succ u2)} (LinearMap.{u1, u1, max u3 u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.addCommMonoid.{u4, u3} α M _inst_3) (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.module.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (fun (_x : Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) => Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u4 u3, max u3 u2} R R (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} α M _inst_3) (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.module.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lmapDomain.{u4, u3, u1, u2} α M R _inst_1 _inst_3 _inst_4 α' f) l) (Finsupp.mapDomain.{u4, u2, u3} α α' M _inst_3 f l) Case conversion may be inaccurate. Consider using '#align finsupp.lmap_domain_apply Finsupp.lmapDomain_applyₓ'. -/ @[simp] theorem lmapDomain_apply (f : α → α') (l : α →₀ M) : @@ -724,7 +724,7 @@ theorem lmapDomain_apply (f : α → α') (l : α →₀ 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.{succ (max u1 u2)} (LinearMap.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.lmapDomain.{u1, u2, u3, u1} α M R _inst_1 _inst_3 _inst_4 α (id.{succ u1} α)) (LinearMap.id.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) 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 (succ u3) (succ u2)} (LinearMap.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.lmapDomain.{u3, u2, u1, u3} α M R _inst_1 _inst_3 _inst_4 α (id.{succ u3} α)) (LinearMap.id.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) + 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 (succ u3) (succ u2)} (LinearMap.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.lmapDomain.{u3, u2, u1, u3} α M R _inst_1 _inst_3 _inst_4 α (id.{succ u3} α)) (LinearMap.id.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.lmap_domain_id Finsupp.lmapDomain_idₓ'. -/ @[simp] theorem lmapDomain_id : (lmapDomain M R id : (α →₀ M) →ₗ[R] α →₀ M) = LinearMap.id := @@ -735,7 +735,7 @@ theorem lmapDomain_id : (lmapDomain M R id : (α →₀ M) →ₗ[R] α →₀ 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] {α' : Type.{u4}} {α'' : Type.{u5}} (f : α -> α') (g : α' -> α''), Eq.{max (succ (max u1 u2)) (succ (max u5 u2))} (LinearMap.{u3, u3, max u1 u2, max u5 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u5, u2} α'' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u5, u2} α'' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} α'' M R _inst_1 _inst_3 _inst_4)) (Finsupp.lmapDomain.{u1, u2, u3, u5} α M R _inst_1 _inst_3 _inst_4 α'' (Function.comp.{succ u1, succ u4, succ u5} α α' α'' g f)) (LinearMap.comp.{u3, u3, u3, max u1 u2, max u4 u2, max u5 u2} R R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u5, u2} α'' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.addCommMonoid.{u5, u2} α'' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} α'' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.right_ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lmapDomain.{u4, u2, u3, u5} α' M R _inst_1 _inst_3 _inst_4 α'' g) (Finsupp.lmapDomain.{u1, u2, u3, u4} α M R _inst_1 _inst_3 _inst_4 α' f)) but is expected to have type - forall {α : Type.{u5}} (M : Type.{u4}) (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u2, u4} R M _inst_1 _inst_3] {α' : Type.{u1}} {α'' : Type.{u3}} (f : α -> α') (g : α' -> α''), Eq.{max (max (succ u5) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max u4 u5, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u5, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.{u3, u4} α'' M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.addCommMonoid.{u5, u4} α M _inst_3) (Finsupp.addCommMonoid.{u3, u4} α'' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u4, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} α'' M R _inst_1 _inst_3 _inst_4)) (Finsupp.lmapDomain.{u5, u4, u2, u3} α M R _inst_1 _inst_3 _inst_4 α'' (Function.comp.{succ u5, succ u1, succ u3} α α' α'' g f)) (LinearMap.comp.{u2, u2, u2, max u4 u5, max u4 u1, max u4 u3} R R R (Finsupp.{u5, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.{u1, u4} α' M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.{u3, u4} α'' M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u4} α M _inst_3) (Finsupp.addCommMonoid.{u1, u4} α' M _inst_3) (Finsupp.addCommMonoid.{u3, u4} α'' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u4, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u2} α' M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} α'' M R _inst_1 _inst_3 _inst_4) (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))) (Finsupp.lmapDomain.{u1, u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 α'' g) (Finsupp.lmapDomain.{u5, u4, u2, u1} α M R _inst_1 _inst_3 _inst_4 α' f)) + forall {α : Type.{u5}} (M : Type.{u4}) (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u2, u4} R M _inst_1 _inst_3] {α' : Type.{u1}} {α'' : Type.{u3}} (f : α -> α') (g : α' -> α''), Eq.{max (max (succ u5) (succ u4)) (succ u3)} (LinearMap.{u2, u2, max u4 u5, max u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u5, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.{u3, u4} α'' M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.addCommMonoid.{u5, u4} α M _inst_3) (Finsupp.addCommMonoid.{u3, u4} α'' M _inst_3) (Finsupp.module.{u5, u4, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u4, u2} α'' M R _inst_1 _inst_3 _inst_4)) (Finsupp.lmapDomain.{u5, u4, u2, u3} α M R _inst_1 _inst_3 _inst_4 α'' (Function.comp.{succ u5, succ u1, succ u3} α α' α'' g f)) (LinearMap.comp.{u2, u2, u2, max u4 u5, max u4 u1, max u4 u3} R R R (Finsupp.{u5, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.{u1, u4} α' M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.{u3, u4} α'' M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u4} α M _inst_3) (Finsupp.addCommMonoid.{u1, u4} α' M _inst_3) (Finsupp.addCommMonoid.{u3, u4} α'' M _inst_3) (Finsupp.module.{u5, u4, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u4, u2} α' M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u4, u2} α'' M R _inst_1 _inst_3 _inst_4) (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))) (Finsupp.lmapDomain.{u1, u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 α'' g) (Finsupp.lmapDomain.{u5, u4, u2, u1} α M R _inst_1 _inst_3 _inst_4 α' f)) Case conversion may be inaccurate. Consider using '#align finsupp.lmap_domain_comp Finsupp.lmapDomain_compₓ'. -/ theorem lmapDomain_comp (f : α → α') (g : α' → α'') : lmapDomain M R (g ∘ f) = (lmapDomain M R g).comp (lmapDomain M R f) := @@ -746,7 +746,7 @@ theorem lmapDomain_comp (f : α → α') (g : α' → α'') : 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] {α' : Type.{u4}} (f : α -> α') (s : Set.{u4} α'), LE.le.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.partialOrder.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 (Set.preimage.{u1, u4} α α' f s)) (Submodule.comap.{u3, u3, max u1 u2, max u4 u2, max (max u1 u2) u4 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (LinearMap.{u3, u3, max u1 u2, max u4 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) (LinearMap.semilinearMapClass.{u3, u3, max u1 u2, max u4 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lmapDomain.{u1, u2, u3, u4} α M R _inst_1 _inst_3 _inst_4 α' f) (Finsupp.supported.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 s)) 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] {α' : Type.{u4}} (f : α -> α') (s : Set.{u4} α'), LE.le.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))))) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Set.preimage.{u3, u4} α α' f s)) (Submodule.comap.{u1, u1, max u3 u2, max u2 u4, max (max u2 u4) u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u3, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α' M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u3 u2, max u2 u4} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lmapDomain.{u3, u2, u1, u4} α M R _inst_1 _inst_3 _inst_4 α' f) (Finsupp.supported.{u4, u2, u1} α' M R _inst_1 _inst_3 _inst_4 s)) + 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] {α' : Type.{u4}} (f : α -> α') (s : Set.{u4} α'), LE.le.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Preorder.toLE.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (PartialOrder.toPreorder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)))))) (Finsupp.supported.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 (Set.preimage.{u3, u4} α α' f s)) (Submodule.comap.{u1, u1, max u3 u2, max u2 u4, max (max u2 u4) u3} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u3, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u1} α' M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u3 u2, max u2 u4} R R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lmapDomain.{u3, u2, u1, u4} α M R _inst_1 _inst_3 _inst_4 α' f) (Finsupp.supported.{u4, u2, u1} α' M R _inst_1 _inst_3 _inst_4 s)) Case conversion may be inaccurate. Consider using '#align finsupp.supported_comap_lmap_domain Finsupp.supported_comap_lmapDomainₓ'. -/ theorem supported_comap_lmapDomain (f : α → α') (s : Set α') : supported M R (f ⁻¹' s) ≤ (supported M R s).comap (lmapDomain M R f) := @@ -761,7 +761,7 @@ theorem supported_comap_lmapDomain (f : α → α') (s : Set α') : 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] {α' : Type.{u4}} [_inst_9 : Nonempty.{succ u1} α] (f : α -> α') (s : Set.{u1} α), Eq.{succ (max u4 u2)} (Submodule.{u3, max u4 u2} R (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) (Submodule.map.{u3, u3, max u1 u2, max u4 u2, max (max u1 u2) u4 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomSurjective.ids.{u3} R _inst_1) (LinearMap.{u3, u3, max u1 u2, max u4 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) (LinearMap.semilinearMapClass.{u3, u3, max u1 u2, max u4 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lmapDomain.{u1, u2, u3, u4} α M R _inst_1 _inst_3 _inst_4 α' f) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.supported.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 (Set.image.{u1, u4} α α' f s)) but is expected to have type - forall {α : Type.{u4}} (M : Type.{u3}) (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] {α' : Type.{u2}} [_inst_9 : Nonempty.{succ u4} α] (f : α -> α') (s : Set.{u4} α), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u3 u2} R (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4)) (Submodule.map.{u1, u1, max u4 u3, max u3 u2, max (max u3 u2) u4} R R (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} α M _inst_3) (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomSurjective.ids.{u1} R _inst_1) (LinearMap.{u1, u1, max u3 u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.addCommMonoid.{u4, u3} α M _inst_3) (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u4 u3, max u3 u2} R R (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} α M _inst_3) (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lmapDomain.{u4, u3, u1, u2} α M R _inst_1 _inst_3 _inst_4 α' f) (Finsupp.supported.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.supported.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4 (Set.image.{u4, u2} α α' f s)) + forall {α : Type.{u4}} (M : Type.{u3}) (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] {α' : Type.{u2}} [_inst_9 : Nonempty.{succ u4} α] (f : α -> α') (s : Set.{u4} α), Eq.{max (succ u3) (succ u2)} (Submodule.{u1, max u3 u2} R (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.module.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4)) (Submodule.map.{u1, u1, max u4 u3, max u3 u2, max (max u3 u2) u4} R R (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} α M _inst_3) (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.module.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomSurjective.ids.{u1} R _inst_1) (LinearMap.{u1, u1, max u3 u4, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.addCommMonoid.{u4, u3} α M _inst_3) (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.module.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u4 u3, max u3 u2} R R (Finsupp.{u4, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u2, u3} α' M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} α M _inst_3) (Finsupp.addCommMonoid.{u2, u3} α' M _inst_3) (Finsupp.module.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lmapDomain.{u4, u3, u1, u2} α M R _inst_1 _inst_3 _inst_4 α' f) (Finsupp.supported.{u4, u3, u1} α M R _inst_1 _inst_3 _inst_4 s)) (Finsupp.supported.{u2, u3, u1} α' M R _inst_1 _inst_3 _inst_4 (Set.image.{u4, u2} α α' f s)) Case conversion may be inaccurate. Consider using '#align finsupp.lmap_domain_supported Finsupp.lmapDomain_supportedₓ'. -/ theorem lmapDomain_supported [Nonempty α] (f : α → α') (s : Set α) : (supported M R s).map (lmapDomain M R f) = supported M R (f '' s) := @@ -786,7 +786,7 @@ theorem lmapDomain_supported [Nonempty α] (f : α → α') (s : Set α) : 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] {α' : Type.{u4}} (f : α -> α') {s : Set.{u1} α}, (forall (a : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a s) -> (forall (b : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) b s) -> (Eq.{succ u4} α' (f a) (f b)) -> (Eq.{succ u1} α a b))) -> (Disjoint.{max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.partialOrder.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Submodule.orderBot.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s) (LinearMap.ker.{u3, u3, max u1 u2, max u4 u2, max (max u1 u2) u4 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (LinearMap.{u3, u3, max u1 u2, max u4 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) (LinearMap.semilinearMapClass.{u3, u3, max u1 u2, max u4 u2} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.lmapDomain.{u1, u2, u3, u4} α M R _inst_1 _inst_3 _inst_4 α' f))) but is expected to have type - forall {α : Type.{u4}} (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] {α' : Type.{u3}} (f : α -> α') {s : Set.{u4} α}, (forall (a : α), (Membership.mem.{u4, u4} α (Set.{u4} α) (Set.instMembershipSet.{u4} α) a s) -> (forall (b : α), (Membership.mem.{u4, u4} α (Set.{u4} α) (Set.instMembershipSet.{u4} α) b s) -> (Eq.{succ u3} α' (f a) (f b)) -> (Eq.{succ u4} α a b))) -> (Disjoint.{max u2 u4} (Submodule.{u1, max u2 u4} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u4 u2} (Submodule.{u1, max u2 u4} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u4 u2} (Submodule.{u1, max u2 u4} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u4 u2} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, max u4 u2} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (LinearMap.ker.{u1, u1, max u4 u2, max u2 u3, max (max u2 u3) u4} R R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α' M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u4 u2, max u2 u3} R R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lmapDomain.{u4, u2, u1, u3} α M R _inst_1 _inst_3 _inst_4 α' f))) + forall {α : Type.{u4}} (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] {α' : Type.{u3}} (f : α -> α') {s : Set.{u4} α}, (forall (a : α), (Membership.mem.{u4, u4} α (Set.{u4} α) (Set.instMembershipSet.{u4} α) a s) -> (forall (b : α), (Membership.mem.{u4, u4} α (Set.{u4} α) (Set.instMembershipSet.{u4} α) b s) -> (Eq.{succ u3} α' (f a) (f b)) -> (Eq.{succ u4} α a b))) -> (Disjoint.{max u2 u4} (Submodule.{u1, max u2 u4} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{max u4 u2} (Submodule.{u1, max u2 u4} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{max u4 u2} (Submodule.{u1, max u2 u4} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Submodule.completeLattice.{u1, max u4 u2} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, max u4 u2} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.supported.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4 s) (LinearMap.ker.{u1, u1, max u4 u2, max u2 u3, max (max u2 u3) u4} R R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α' M R _inst_1 _inst_3 _inst_4)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u4 u2, max u2 u3} R R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α' M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.lmapDomain.{u4, u2, u1, u3} α M R _inst_1 _inst_3 _inst_4 α' f))) Case conversion may be inaccurate. Consider using '#align finsupp.lmap_domain_disjoint_ker Finsupp.lmapDomain_disjoint_kerₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (a b «expr ∈ » s) -/ theorem lmapDomain_disjoint_ker (f : α → α') {s : Set α} @@ -822,7 +822,7 @@ variable {β : Type _} {R 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] {β : Type.{u4}} (f : α -> β), (Function.Injective.{succ u1, succ u4} α β f) -> (LinearMap.{u3, u3, max u4 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u2} β M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u4, u2} β M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u4, u2, u3} β M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) but is expected to have type - 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] {β : Type.{u4}} (f : α -> β), (Function.Injective.{succ u1, succ u4} α β f) -> (LinearMap.{u3, u3, max u2 u4, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} β M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u3} β M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) + 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] {β : Type.{u4}} (f : α -> β), (Function.Injective.{succ u1, succ u4} α β f) -> (LinearMap.{u3, u3, max u2 u4, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} β M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u4, u2, u3} β M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.lcomap_domain Finsupp.lcomapDomainₓ'. -/ /-- Given `f : α → β` and a proof `hf` that `f` is injective, `lcomap_domain f hf` is the linear map sending `l : β →₀ M` to the finitely supported function from `α` to `M` given by composing @@ -851,7 +851,7 @@ variable (α) {α' : Type _} (M) {M' : Type _} (R) [AddCommMonoid M'] [Module R 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], (α -> M) -> (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) but is expected to have type - 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], (α -> M) -> (LinearMap.{u3, u3, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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) + 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], (α -> M) -> (LinearMap.{u3, u3, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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) Case conversion may be inaccurate. Consider using '#align finsupp.total Finsupp.totalₓ'. -/ /-- Interprets (l : α →₀ R) as linear combination of the elements in the family (v : α → M) and evaluates this linear combination. -/ @@ -865,7 +865,7 @@ variable {α M v} 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] {v : α -> M} (l : 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 v) l) (Finsupp.sum.{u1, u3, u2} α R M (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 l (fun (i : α) (a : 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_1)))) (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_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) a (v i))) 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] {v : α -> M} (l : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6178 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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 v) l) (Finsupp.sum.{u3, u2, u1} α R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) _inst_3 l (fun (i : α) (a : 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))))) a (v i))) + 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] {v : α -> M} (l : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (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.6178 : 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 v) l) (Finsupp.sum.{u3, u2, u1} α R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) _inst_3 l (fun (i : α) (a : 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))))) a (v i))) Case conversion may be inaccurate. Consider using '#align finsupp.total_apply Finsupp.total_applyₓ'. -/ theorem total_apply (l : α →₀ R) : Finsupp.total α M R v l = l.Sum fun i a => a • v i := rfl @@ -873,9 +873,9 @@ theorem total_apply (l : α →₀ R) : Finsupp.total α M R v l = l.Sum fun i a /- warning: finsupp.total_apply_of_mem_supported -> Finsupp.total_apply_of_mem_supported is a dubious translation: 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] {v : α -> M} {l : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))} {s : Finset.{u1} α}, (Membership.Mem.{max u1 u3, max u1 u3} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (SetLike.hasMem.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (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_1))))))) (Submodule.setLike.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))) l (Finsupp.supported.{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) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s))) -> (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 v) l) (Finset.sum.{u2, u1} M α _inst_3 s (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_1)))) (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_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => α -> R) (Finsupp.hasCoeToFun.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) l i) (v i)))) + 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] {v : α -> M} {l : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))} {s : Finset.{u1} α}, (Membership.Mem.{max u1 u3, max u1 u3} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (SetLike.hasMem.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (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_1))))))) (Submodule.setLike.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))) l (Finsupp.supported.{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) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s))) -> (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 v) l) (Finset.sum.{u2, u1} M α _inst_3 s (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_1)))) (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_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => α -> R) (Finsupp.coeFun.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) l i) (v i)))) 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] {v : α -> M} {l : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))} {s : Finset.{u3} α}, (Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (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_1)))))) (Submodule.instSetLikeSubmodule.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))) l (Finsupp.supported.{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) (Finset.toSet.{u3} α s))) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6178 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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 v) l) (Finset.sum.{u1, u3} M α _inst_3 s (fun (i : α) => HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M M (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M _inst_1 _inst_3 _inst_4))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) _x) (Finsupp.funLike.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) l i) (v i)))) + 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] {v : α -> M} {l : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))} {s : Finset.{u3} α}, (Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (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_1)))))) (Submodule.instSetLikeSubmodule.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))) l (Finsupp.supported.{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) (Finset.toSet.{u3} α s))) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (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.6178 : 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 v) l) (Finset.sum.{u1, u3} M α _inst_3 s (fun (i : α) => HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M M (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) i) M _inst_1 _inst_3 _inst_4))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) _x) (Finsupp.funLike.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) l i) (v i)))) Case conversion may be inaccurate. Consider using '#align finsupp.total_apply_of_mem_supported Finsupp.total_apply_of_mem_supportedₓ'. -/ theorem total_apply_of_mem_supported {l : α →₀ R} {s : Finset α} (hs : l ∈ supported R R (↑s : Set α)) : Finsupp.total α M R v l = s.Sum fun i => l i • v i := @@ -887,7 +887,7 @@ theorem total_apply_of_mem_supported {l : α →₀ R} {s : Finset α} 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] {v : α -> M} (c : R) (a : α), 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 v) (Finsupp.single.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) a c)) (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_1)))) (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_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) c (v a)) but is expected to have type - forall {α : Type.{u2}} {M : Type.{u3}} (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] {v : α -> M} (c : R) (a : α), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) (Finsupp.single.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a c)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (LinearMap.{u1, u1, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_4) (Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u1, u3} R R (Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4 v) (Finsupp.single.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a c)) (HSMul.hSMul.{u1, u3, u3} R M M (instHSMul.{u1, u3} R M (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_4))))) c (v a)) + forall {α : Type.{u2}} {M : Type.{u3}} (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] {v : α -> M} (c : R) (a : α), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) (Finsupp.single.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a c)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (LinearMap.{u1, u1, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_4) (Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u1, u3} R R (Finsupp.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u3, u1} α M R _inst_1 _inst_3 _inst_4 v) (Finsupp.single.{u2, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a c)) (HSMul.hSMul.{u1, u3, u3} R M M (instHSMul.{u1, u3} R M (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_4))))) c (v a)) Case conversion may be inaccurate. Consider using '#align finsupp.total_single Finsupp.total_singleₓ'. -/ @[simp] theorem total_single (c : R) (a : α) : Finsupp.total α M R v (single a c) = c • v a := by @@ -898,7 +898,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.6178 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6178 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6475 : α) => M) (fun (i : α) => AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) x) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : 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.6178 : 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.6178 : 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.6178 : 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.6178 : 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.6178 : 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.6475 : α) => M) (fun (i : α) => AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) x) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : 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.6178 : 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.6178 : 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.6178 : 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] @@ -910,7 +910,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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6475 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6475 : α) => 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 := @@ -923,7 +923,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] {M' : Type.{u4}} [_inst_9 : AddCommMonoid.{u4} M'] [_inst_10 : Module.{u3, u4} R M' _inst_1 _inst_9] (f : LinearMap.{u3, u3, u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_3 _inst_9 _inst_4 _inst_10) (v : α -> M) (l : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))), Eq.{succ u4} M' (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u3, u3, u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_3 _inst_9 _inst_4 _inst_10) (fun (_x : LinearMap.{u3, u3, u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_3 _inst_9 _inst_4 _inst_10) => M -> M') (LinearMap.hasCoeToFun.{u3, u3, u2, u4} R R M M' _inst_1 _inst_1 _inst_3 _inst_9 _inst_4 _inst_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f (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 v) l)) (coeFn.{max (succ (max u1 u3)) (succ u4), max (succ (max u1 u3)) (succ u4)} (LinearMap.{u3, u3, max u1 u3, u4} 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_9 (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_10) (fun (_x : LinearMap.{u3, u3, max u1 u3, u4} 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_9 (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_10) => (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, u4} 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_9 (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_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.total.{u1, u4, u3} α M' R _inst_1 _inst_9 _inst_10 (Function.comp.{succ u1, succ u2, succ u4} α M M' (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u3, u3, u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_3 _inst_9 _inst_4 _inst_10) (fun (_x : LinearMap.{u3, u3, u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_3 _inst_9 _inst_4 _inst_10) => M -> M') (LinearMap.hasCoeToFun.{u3, u3, u2, u4} R R M M' _inst_1 _inst_1 _inst_3 _inst_9 _inst_4 _inst_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f) v)) l) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u3}} (R : Type.{u4}) {_inst_1 : Type.{u2}} [_inst_3 : Semiring.{u4} R] [_inst_4 : AddCommMonoid.{u2} _inst_1] [M' : AddCommMonoid.{u3} M] [_inst_9 : Module.{u4, u2} R _inst_1 _inst_3 _inst_4] [_inst_10 : Module.{u4, u3} R M _inst_3 M'] (f : LinearMap.{u4, u4, u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) M _inst_1 M' _inst_4 _inst_10 _inst_9) (v : α -> M) (l : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => _inst_1) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (succ u1) (succ u4), succ u3} (LinearMap.{u4, u4, max u4 u1, u3} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) M (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) M' (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_10) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) (fun (a : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => M) a) (LinearMap.instFunLikeLinearMap.{u4, u4, max u1 u4, u3} R R (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) M' (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_10 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Finsupp.total.{u1, u3, u4} α M R _inst_3 M' _inst_10 v) l)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) M _inst_1 M' _inst_4 _inst_10 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M _inst_1 _inst_3 _inst_3 M' _inst_4 _inst_10 _inst_9 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) f (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (succ u1) (succ u4), succ u3} (LinearMap.{u4, u4, max u4 u1, u3} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) M (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) M' (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_10) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) (fun (_x : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u1 u4, u3} R R (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) M' (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_10 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Finsupp.total.{u1, u3, u4} α M R _inst_3 M' _inst_10 v) l)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u2), max (succ u1) (succ u4), succ u2} (LinearMap.{u4, u4, max u4 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_9) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) (fun (_x : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u1 u4, u2} R R (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) _inst_1 _inst_3 _inst_3 (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_9 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Finsupp.total.{u1, u2, u4} α _inst_1 R _inst_3 _inst_4 _inst_9 (Function.comp.{succ u1, succ u3, succ u2} α M _inst_1 (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) M _inst_1 M' _inst_4 _inst_10 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M _inst_1 _inst_3 _inst_3 M' _inst_4 _inst_10 _inst_9 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) f) v)) l) + forall {α : Type.{u1}} {M : Type.{u3}} (R : Type.{u4}) {_inst_1 : Type.{u2}} [_inst_3 : Semiring.{u4} R] [_inst_4 : AddCommMonoid.{u2} _inst_1] [M' : AddCommMonoid.{u3} M] [_inst_9 : Module.{u4, u2} R _inst_1 _inst_3 _inst_4] [_inst_10 : Module.{u4, u3} R M _inst_3 M'] (f : LinearMap.{u4, u4, u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) M _inst_1 M' _inst_4 _inst_10 _inst_9) (v : α -> M) (l : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => _inst_1) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (succ u1) (succ u4), succ u3} (LinearMap.{u4, u4, max u4 u1, u3} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) M (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) M' (Finsupp.module.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_10) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) (fun (a : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => M) a) (LinearMap.instFunLikeLinearMap.{u4, u4, max u1 u4, u3} R R (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) M' (Finsupp.module.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_10 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Finsupp.total.{u1, u3, u4} α M R _inst_3 M' _inst_10 v) l)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) M _inst_1 M' _inst_4 _inst_10 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M _inst_1 _inst_3 _inst_3 M' _inst_4 _inst_10 _inst_9 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) f (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (succ u1) (succ u4), succ u3} (LinearMap.{u4, u4, max u4 u1, u3} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) M (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) M' (Finsupp.module.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_10) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) (fun (_x : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u1 u4, u3} R R (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) M' (Finsupp.module.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_10 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Finsupp.total.{u1, u3, u4} α M R _inst_3 M' _inst_10 v) l)) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u2), max (succ u1) (succ u4), succ u2} (LinearMap.{u4, u4, max u4 u1, u2} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) _inst_4 (Finsupp.module.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_9) (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) (fun (_x : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) => _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u1 u4, u2} R R (Finsupp.{u1, u4} α R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_3))) _inst_1 _inst_3 _inst_3 (Finsupp.addCommMonoid.{u1, u4} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)))) _inst_4 (Finsupp.module.{u1, u4, u4} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Semiring.toModule.{u4} R _inst_3)) _inst_9 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) (Finsupp.total.{u1, u2, u4} α _inst_1 R _inst_3 _inst_4 _inst_9 (Function.comp.{succ u1, succ u3, succ u2} α M _inst_1 (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R _inst_3 _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3)) M _inst_1 M' _inst_4 _inst_10 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M _inst_1 _inst_3 _inst_3 M' _inst_4 _inst_10 _inst_9 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_3))) f) v)) l) Case conversion may be inaccurate. Consider using '#align finsupp.apply_total Finsupp.apply_totalₓ'. -/ theorem apply_total (f : M →ₗ[R] M') (v) (l : α →₀ R) : f (Finsupp.total α M R v l) = Finsupp.total α M' R (f ∘ v) l := by @@ -932,9 +932,9 @@ theorem apply_total (f : M →ₗ[R] M') (v) (l : α →₀ R) : /- warning: finsupp.total_unique -> Finsupp.total_unique is a dubious translation: 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] [_inst_11 : Unique.{succ u1} α] (l : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (v : α -> M), 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 v) l) (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_1)))) (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_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => α -> R) (Finsupp.hasCoeToFun.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) l (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_11))) (v (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_11)))) + 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] [_inst_11 : Unique.{succ u1} α] (l : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (v : α -> M), 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 v) l) (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_1)))) (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_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => α -> R) (Finsupp.coeFun.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) l (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_11))) (v (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_11)))) 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] [_inst_11 : Unique.{succ u3} α] (l : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (v : α -> M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6178 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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 v) l) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M M (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M _inst_1 _inst_3 _inst_4))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) _x) (Finsupp.funLike.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) l (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) (v (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11)))) + 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] [_inst_11 : Unique.{succ u3} α] (l : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (v : α -> M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (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.6178 : 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 v) l) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M M (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) M _inst_1 _inst_3 _inst_4))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => R) _x) (Finsupp.funLike.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) l (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11))) (v (Inhabited.default.{succ u3} α (Unique.instInhabited.{succ u3} α _inst_11)))) Case conversion may be inaccurate. Consider using '#align finsupp.total_unique Finsupp.total_uniqueₓ'. -/ theorem total_unique [Unique α] (l : α →₀ R) (v) : Finsupp.total α M R v l = l default • v default := by rw [← total_single, ← unique_single l] @@ -944,7 +944,7 @@ theorem total_unique [Unique α] (l : α →₀ R) (v) : 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] {v : α -> M}, (Function.Surjective.{succ u1, succ u2} α M v) -> (Function.Surjective.{max (succ u1) (succ u3), succ u2} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) 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 v))) 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] {v : α -> M}, (Function.Surjective.{succ u3, succ u2} α M v) -> (Function.Surjective.{max (succ u3) (succ u1), succ u2} (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), succ u2} (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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Finsupp.total.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 v))) + 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] {v : α -> M}, (Function.Surjective.{succ u3, succ u2} α M v) -> (Function.Surjective.{max (succ u3) (succ u1), succ u2} (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), succ u2} (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.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{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))) (Finsupp.total.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 v))) Case conversion may be inaccurate. Consider using '#align finsupp.total_surjective Finsupp.total_surjectiveₓ'. -/ theorem total_surjective (h : Function.Surjective v) : Function.Surjective (Finsupp.total α M R v) := @@ -958,7 +958,7 @@ theorem total_surjective (h : Function.Surjective v) : 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] {v : α -> M}, (Function.Surjective.{succ u1, succ u2} α M v) -> (Eq.{succ u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) (LinearMap.range.{u3, u3, max u1 u3, u2, max (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)) (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.semilinearMapClass.{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))) (RingHomSurjective.ids.{u3} R _inst_1) (Finsupp.total.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 v)) (Top.top.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u3, u2} R M _inst_1 _inst_3 _inst_4))) 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] {v : α -> M}, (Function.Surjective.{succ u3, succ u2} α M v) -> (Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (LinearMap.range.{u1, u1, max u3 u1, u2, max (max u3 u2) u1} 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instSemilinearMapClassLinearMap.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.total.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 v)) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) + 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] {v : α -> M}, (Function.Surjective.{succ u3, succ u2} α M v) -> (Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (LinearMap.range.{u1, u1, max u3 u1, u2, max (max u3 u2) u1} 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)) (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.instSemilinearMapClassLinearMap.{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))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.total.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 v)) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) Case conversion may be inaccurate. Consider using '#align finsupp.total_range Finsupp.total_rangeₓ'. -/ theorem total_range (h : Function.Surjective v) : (Finsupp.total α M R v).range = ⊤ := range_eq_top.2 <| total_surjective R h @@ -968,7 +968,7 @@ theorem total_range (h : Function.Surjective v) : (Finsupp.total α M R v).range lean 3 declaration is forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (M : Type.{u2}) [_inst_11 : AddCommMonoid.{u2} M] [_inst_12 : Module.{u1, u2} R M _inst_1 _inst_11], Function.Surjective.{max (succ u2) (succ u1), succ u2} (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ (max u2 u1)) (succ u2)} (LinearMap.{u1, u1, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_11 (Finsupp.module.{u2, u1, u1} M 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_12) (fun (_x : LinearMap.{u1, u1, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_11 (Finsupp.module.{u2, u1, u1} M 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_12) => (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u2 u1, u2} R R (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_11 (Finsupp.module.{u2, u1, u1} M 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_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u2, u1} M M R _inst_1 _inst_11 _inst_12 (id.{succ u2} M))) but is expected to have type - forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (M : Type.{u2}) [_inst_11 : AddCommMonoid.{u2} M] [_inst_12 : Module.{u1, u2} R M _inst_1 _inst_11], Function.Surjective.{max (succ u1) (succ u2), succ u2} (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_11 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M 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_12) (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u2, u2} R R (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_11 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M 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_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u2, u1} M M R _inst_1 _inst_11 _inst_12 (id.{succ u2} M))) + forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] (M : Type.{u2}) [_inst_11 : AddCommMonoid.{u2} M] [_inst_12 : Module.{u1, u2} R M _inst_1 _inst_11], Function.Surjective.{max (succ u1) (succ u2), succ u2} (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_11 (Finsupp.module.{u2, u1, u1} M 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_12) (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u2, u2} R R (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_11 (Finsupp.module.{u2, u1, u1} M 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_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u2, u1} M M R _inst_1 _inst_11 _inst_12 (id.{succ u2} M))) Case conversion may be inaccurate. Consider using '#align finsupp.total_id_surjective Finsupp.total_id_surjectiveₓ'. -/ /-- Any module is a quotient of a free module. This is stated as surjectivity of `finsupp.total M M R id : (M →₀ R) →ₗ[R] M`. -/ @@ -981,7 +981,7 @@ theorem total_id_surjective (M) [AddCommMonoid M] [Module R 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] {v : α -> M}, Eq.{succ u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) (LinearMap.range.{u3, u3, max u1 u3, u2, max (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)) (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.semilinearMapClass.{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))) (RingHomSurjective.ids.{u3} R _inst_1) (Finsupp.total.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 v)) (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.range.{u2, succ u1} M α v)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u3}} (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u2, u3} R M _inst_1 _inst_3] {v : α -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (LinearMap.{u2, u2, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (RingHomSurjective.ids.{u2} R _inst_1) (Finsupp.total.{u1, u3, u2} α M R _inst_1 _inst_3 _inst_4 v)) (Submodule.span.{u2, u3} R M _inst_1 _inst_3 _inst_4 (Set.range.{u3, succ u1} M α v)) + forall {α : Type.{u1}} {M : Type.{u3}} (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u2, u3} R M _inst_1 _inst_3] {v : α -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (LinearMap.{u2, u2, max u2 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (RingHomSurjective.ids.{u2} R _inst_1) (Finsupp.total.{u1, u3, u2} α M R _inst_1 _inst_3 _inst_4 v)) (Submodule.span.{u2, u3} R M _inst_1 _inst_3 _inst_4 (Set.range.{u3, succ u1} M α v)) Case conversion may be inaccurate. Consider using '#align finsupp.range_total Finsupp.range_totalₓ'. -/ theorem range_total : (Finsupp.total α M R v).range = span R (range v) := by @@ -1005,7 +1005,7 @@ theorem range_total : (Finsupp.total α M R v).range = span R (range v) := 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] {α' : Type.{u4}} {M' : Type.{u5}} [_inst_9 : AddCommMonoid.{u5} M'] [_inst_10 : Module.{u3, u5} R M' _inst_1 _inst_9] {v : α -> M} {v' : α' -> M'} (f : α -> α') (g : LinearMap.{u3, u3, u2, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_3 _inst_9 _inst_4 _inst_10), (forall (i : α), Eq.{succ u5} M' (coeFn.{max (succ u2) (succ u5), max (succ u2) (succ u5)} (LinearMap.{u3, u3, u2, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_3 _inst_9 _inst_4 _inst_10) (fun (_x : LinearMap.{u3, u3, u2, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M' _inst_3 _inst_9 _inst_4 _inst_10) => M -> M') (LinearMap.hasCoeToFun.{u3, u3, u2, u5} R R M M' _inst_1 _inst_1 _inst_3 _inst_9 _inst_4 _inst_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) g (v i)) (v' (f i))) -> (Eq.{max (succ (max u1 u3)) (succ u5)} (LinearMap.{u3, u3, max u1 u3, u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (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_1))))))) M' (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_9 (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_10) (LinearMap.comp.{u3, u3, u3, max u1 u3, max u4 u3, u5} 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_1))))))) (Finsupp.{u4, 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 _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u3} α' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_9 (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)) (Finsupp.module.{u4, 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_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.right_ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.total.{u4, u5, u3} α' M' R _inst_1 _inst_9 _inst_10 v') (Finsupp.lmapDomain.{u1, u3, u3, u4} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1) α' f)) (LinearMap.comp.{u3, u3, u3, max u1 u3, u2, u5} 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_1))))))) M M' _inst_1 _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 _inst_9 (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 _inst_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.right_ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) g (Finsupp.total.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 v))) but is expected to have type - forall {α : Type.{u2}} {M : Type.{u4}} (R : Type.{u5}) {_inst_1 : Type.{u1}} {_inst_3 : Type.{u3}} [_inst_4 : Semiring.{u5} R] [α' : AddCommMonoid.{u3} _inst_3] [M' : AddCommMonoid.{u4} M] [_inst_9 : Module.{u5, u3} R _inst_3 _inst_4 α'] [_inst_10 : Module.{u5, u4} R M _inst_4 M'] {v : α -> M} {v' : _inst_1 -> _inst_3} (f : α -> _inst_1) (g : LinearMap.{u5, u5, u4, u3} R R _inst_4 _inst_4 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) M _inst_3 M' α' _inst_10 _inst_9), (forall (i : α), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => _inst_3) (v i)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u5, u5, u4, u3} R R _inst_4 _inst_4 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) M _inst_3 M' α' _inst_10 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u3} R R M _inst_3 _inst_4 _inst_4 M' α' _inst_10 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) g (v i)) (v' (f i))) -> (Eq.{max (max (succ u2) (succ u5)) (succ u3)} (LinearMap.{u5, u5, max u5 u2, u3} R R _inst_4 _inst_4 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (Finsupp.{u2, u5} α R (AddMonoid.toZero.{u5} R (AddCommMonoid.toAddMonoid.{u5} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))))) _inst_3 (Finsupp.addCommMonoid.{u2, u5} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))) α' (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u5, u5} α R R _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Semiring.toModule.{u5} R _inst_4)) _inst_9) (LinearMap.comp.{u5, u5, u5, max u5 u2, max u5 u1, u3} R R R (Finsupp.{u2, u5} α R (AddMonoid.toZero.{u5} R (AddCommMonoid.toAddMonoid.{u5} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))))) (Finsupp.{u1, u5} _inst_1 R (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_4))) _inst_3 _inst_4 _inst_4 _inst_4 (Finsupp.addCommMonoid.{u2, u5} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))) (Finsupp.addCommMonoid.{u1, u5} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))) α' (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u5, u5} α R R _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Semiring.toModule.{u5} R _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u5, u5} _inst_1 R R _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Semiring.toModule.{u5} R _inst_4)) _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHomCompTriple.ids.{u5, u5} R R _inst_4 _inst_4 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Finsupp.total.{u1, u3, u5} _inst_1 _inst_3 R _inst_4 α' _inst_9 v') (Finsupp.lmapDomain.{u2, u5, u5, u1} α R R _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Semiring.toModule.{u5} R _inst_4) _inst_1 f)) (LinearMap.comp.{u5, u5, u5, max u2 u5, u4, u3} R R R (Finsupp.{u2, u5} α R (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_4))) M _inst_3 _inst_4 _inst_4 _inst_4 (Finsupp.addCommMonoid.{u2, u5} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))) M' α' (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u5, u5} α R R _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Semiring.toModule.{u5} R _inst_4)) _inst_10 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHomCompTriple.ids.{u5, u5} R R _inst_4 _inst_4 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) g (Finsupp.total.{u2, u4, u5} α M R _inst_4 M' _inst_10 v))) + forall {α : Type.{u2}} {M : Type.{u4}} (R : Type.{u5}) {_inst_1 : Type.{u1}} {_inst_3 : Type.{u3}} [_inst_4 : Semiring.{u5} R] [α' : AddCommMonoid.{u3} _inst_3] [M' : AddCommMonoid.{u4} M] [_inst_9 : Module.{u5, u3} R _inst_3 _inst_4 α'] [_inst_10 : Module.{u5, u4} R M _inst_4 M'] {v : α -> M} {v' : _inst_1 -> _inst_3} (f : α -> _inst_1) (g : LinearMap.{u5, u5, u4, u3} R R _inst_4 _inst_4 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) M _inst_3 M' α' _inst_10 _inst_9), (forall (i : α), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => _inst_3) (v i)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u5, u5, u4, u3} R R _inst_4 _inst_4 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) M _inst_3 M' α' _inst_10 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u3} R R M _inst_3 _inst_4 _inst_4 M' α' _inst_10 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) g (v i)) (v' (f i))) -> (Eq.{max (max (succ u2) (succ u5)) (succ u3)} (LinearMap.{u5, u5, max u5 u2, u3} R R _inst_4 _inst_4 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (Finsupp.{u2, u5} α R (AddMonoid.toZero.{u5} R (AddCommMonoid.toAddMonoid.{u5} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))))) _inst_3 (Finsupp.addCommMonoid.{u2, u5} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))) α' (Finsupp.module.{u2, u5, u5} α R R _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Semiring.toModule.{u5} R _inst_4)) _inst_9) (LinearMap.comp.{u5, u5, u5, max u5 u2, max u5 u1, u3} R R R (Finsupp.{u2, u5} α R (AddMonoid.toZero.{u5} R (AddCommMonoid.toAddMonoid.{u5} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))))) (Finsupp.{u1, u5} _inst_1 R (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_4))) _inst_3 _inst_4 _inst_4 _inst_4 (Finsupp.addCommMonoid.{u2, u5} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))) (Finsupp.addCommMonoid.{u1, u5} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))) α' (Finsupp.module.{u2, u5, u5} α R R _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Semiring.toModule.{u5} R _inst_4)) (Finsupp.module.{u1, u5, u5} _inst_1 R R _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Semiring.toModule.{u5} R _inst_4)) _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHomCompTriple.ids.{u5, u5} R R _inst_4 _inst_4 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Finsupp.total.{u1, u3, u5} _inst_1 _inst_3 R _inst_4 α' _inst_9 v') (Finsupp.lmapDomain.{u2, u5, u5, u1} α R R _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Semiring.toModule.{u5} R _inst_4) _inst_1 f)) (LinearMap.comp.{u5, u5, u5, max u2 u5, u4, u3} R R R (Finsupp.{u2, u5} α R (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_4))) M _inst_3 _inst_4 _inst_4 _inst_4 (Finsupp.addCommMonoid.{u2, u5} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)))) M' α' (Finsupp.module.{u2, u5, u5} α R R _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) (Semiring.toModule.{u5} R _inst_4)) _inst_10 _inst_9 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4)) (RingHomCompTriple.ids.{u5, u5} R R _inst_4 _inst_4 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_4))) g (Finsupp.total.{u2, u4, u5} α M R _inst_4 M' _inst_10 v))) Case conversion may be inaccurate. Consider using '#align finsupp.lmap_domain_total Finsupp.lmapDomain_totalₓ'. -/ theorem lmapDomain_total (f : α → α') (g : M →ₗ[R] M') (h : ∀ i, g (v i) = v' (f i)) : (Finsupp.total α' M' R v').comp (lmapDomain R R f) = g.comp (Finsupp.total α M R v) := by @@ -1016,7 +1016,7 @@ theorem lmapDomain_total (f : α → α') (g : M →ₗ[R] M') (h : ∀ i, g (v lean 3 declaration is forall {α : Type.{u1}} (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {α' : Type.{u3}} {M' : Type.{u4}} [_inst_9 : AddCommMonoid.{u4} M'] [_inst_10 : Module.{u2, u4} R M' _inst_1 _inst_9] {v' : α' -> M'} (f : α -> α'), Eq.{max (succ (max u1 u2)) (succ u4)} (LinearMap.{u2, u2, max u1 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} α R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) M' (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_10) (LinearMap.comp.{u2, u2, u2, max u1 u2, max u3 u2, u4} R R R (Finsupp.{u1, u2} α R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Finsupp.{u3, u2} α' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M' _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} α' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Finsupp.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_10 (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.right_ids.{u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u4, u2} α' M' R _inst_1 _inst_9 _inst_10 v') (Finsupp.lmapDomain.{u1, u2, u2, u3} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1) α' f)) (Finsupp.total.{u1, u4, u2} α M' R _inst_1 _inst_9 _inst_10 (Function.comp.{succ u1, succ u3, succ u4} α α' M' v' f)) but is expected to have type - forall {α : Type.{u4}} (R : Type.{u3}) {_inst_1 : Type.{u1}} {α' : Type.{u2}} [M' : Semiring.{u3} R] [_inst_9 : AddCommMonoid.{u2} α'] [_inst_10 : Module.{u3, u2} R α' M' _inst_9] {v' : _inst_1 -> α'} (f : α -> _inst_1), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (LinearMap.{u3, u3, max u3 u4, u2} R R M' M' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (Finsupp.{u4, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))))) α' (Finsupp.addCommMonoid.{u4, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10) (LinearMap.comp.{u3, u3, u3, max u3 u4, max u3 u1, u2} R R R (Finsupp.{u4, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))))) (Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) α' M' M' M' (Finsupp.addCommMonoid.{u4, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) (Finsupp.addCommMonoid.{u1, u3} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (RingHomCompTriple.ids.{u3, u3} R R M' M' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Finsupp.total.{u1, u2, u3} _inst_1 α' R M' _inst_9 _inst_10 v') (Finsupp.lmapDomain.{u4, u3, u3, u1} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M') _inst_1 f)) (Finsupp.total.{u4, u2, u3} α α' R M' _inst_9 _inst_10 (Function.comp.{succ u4, succ u1, succ u2} α _inst_1 α' v' f)) + forall {α : Type.{u4}} (R : Type.{u3}) {_inst_1 : Type.{u1}} {α' : Type.{u2}} [M' : Semiring.{u3} R] [_inst_9 : AddCommMonoid.{u2} α'] [_inst_10 : Module.{u3, u2} R α' M' _inst_9] {v' : _inst_1 -> α'} (f : α -> _inst_1), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (LinearMap.{u3, u3, max u3 u4, u2} R R M' M' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (Finsupp.{u4, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))))) α' (Finsupp.addCommMonoid.{u4, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.module.{u4, u3, u3} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10) (LinearMap.comp.{u3, u3, u3, max u3 u4, max u3 u1, u2} R R R (Finsupp.{u4, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))))) (Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) α' M' M' M' (Finsupp.addCommMonoid.{u4, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) (Finsupp.addCommMonoid.{u1, u3} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.module.{u4, u3, u3} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) (Finsupp.module.{u1, u3, u3} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (RingHomCompTriple.ids.{u3, u3} R R M' M' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Finsupp.total.{u1, u2, u3} _inst_1 α' R M' _inst_9 _inst_10 v') (Finsupp.lmapDomain.{u4, u3, u3, u1} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M') _inst_1 f)) (Finsupp.total.{u4, u2, u3} α α' R M' _inst_9 _inst_10 (Function.comp.{succ u4, succ u1, succ u2} α _inst_1 α' v' f)) Case conversion may be inaccurate. Consider using '#align finsupp.total_comp_lmap_domain Finsupp.total_comp_lmapDomainₓ'. -/ theorem total_comp_lmapDomain (f : α → α') : (Finsupp.total α' M' R v').comp (Finsupp.lmapDomain R R f) = Finsupp.total α M' R (v' ∘ f) := @@ -1029,7 +1029,7 @@ theorem total_comp_lmapDomain (f : α → α') : lean 3 declaration is forall {α : Type.{u1}} (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {α' : Type.{u3}} {M' : Type.{u4}} [_inst_9 : AddCommMonoid.{u4} M'] [_inst_10 : Module.{u2, u4} R M' _inst_1 _inst_9] {v' : α' -> M'} (f : Function.Embedding.{succ u1, succ u3} α α') (l : Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), Eq.{succ u4} M' (coeFn.{max (succ (max u3 u2)) (succ u4), max (succ (max u3 u2)) (succ u4)} (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} α' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{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_9 (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_10) (fun (_x : LinearMap.{u2, u2, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} α' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{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_9 (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_10) => (Finsupp.{u3, u2} α' 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, u4} R R (Finsupp.{u3, u2} α' 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} α' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (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_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u4, u2} α' M' R _inst_1 _inst_9 _inst_10 v') (Finsupp.embDomain.{u1, u3, u2} α α' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) f l)) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u2, u2, max u1 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M' (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_10) (fun (_x : LinearMap.{u2, u2, max u1 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M' (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_10) => (Finsupp.{u1, u2} α 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 u1 u2, u4} R R (Finsupp.{u1, u2} α 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.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u4, u2} α M' R _inst_1 _inst_9 _inst_10 (Function.comp.{succ u1, succ u3, succ u4} α α' M' v' (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Function.Embedding.{succ u1, succ u3} α α') (fun (_x : Function.Embedding.{succ u1, succ u3} α α') => α -> α') (Function.Embedding.hasCoeToFun.{succ u1, succ u3} α α') f))) l) but is expected to have type - forall {α : Type.{u4}} (R : Type.{u2}) {_inst_1 : Type.{u3}} {α' : Type.{u1}} [M' : Semiring.{u2} R] [_inst_9 : AddCommMonoid.{u1} α'] [_inst_10 : Module.{u2, u1} R α' M' _inst_9] {v' : _inst_1 -> α'} (f : Function.Embedding.{succ u4, succ u3} α _inst_1) (l : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') (Finsupp.embDomain.{u4, u3, u2} α _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M')) f l)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R M' M' (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')) (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' (Finsupp.addCommMonoid.{u3, u2} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10) (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) (fun (_x : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' M' M' (Finsupp.addCommMonoid.{u3, u2} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Finsupp.total.{u3, u1, u2} _inst_1 α' R M' _inst_9 _inst_10 v') (Finsupp.embDomain.{u4, u3, u2} α _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M')) f l)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u1), max (succ u4) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u4, u1} R R M' M' (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u2} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) (fun (_x : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' M' M' (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u2} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Finsupp.total.{u4, u1, u2} α α' R M' _inst_9 _inst_10 (Function.comp.{succ u4, succ u3, succ u1} α _inst_1 α' v' (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Function.Embedding.{succ u4, succ u3} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => _inst_1) _x) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Function.Embedding.{succ u4, succ u3} α _inst_1) α _inst_1 (Function.instEmbeddingLikeEmbedding.{succ u4, succ u3} α _inst_1)) f))) l) + forall {α : Type.{u4}} (R : Type.{u2}) {_inst_1 : Type.{u3}} {α' : Type.{u1}} [M' : Semiring.{u2} R] [_inst_9 : AddCommMonoid.{u1} α'] [_inst_10 : Module.{u2, u1} R α' M' _inst_9] {v' : _inst_1 -> α'} (f : Function.Embedding.{succ u4, succ u3} α _inst_1) (l : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') (Finsupp.embDomain.{u4, u3, u2} α _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M')) f l)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R M' M' (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')) (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' (Finsupp.addCommMonoid.{u3, u2} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.module.{u3, u2, u2} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10) (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) (fun (_x : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' M' M' (Finsupp.addCommMonoid.{u3, u2} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.module.{u3, u2, u2} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Finsupp.total.{u3, u1, u2} _inst_1 α' R M' _inst_9 _inst_10 v') (Finsupp.embDomain.{u4, u3, u2} α _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M')) f l)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u1), max (succ u4) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u4, u1} R R M' M' (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.module.{u4, u2, u2} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) (fun (_x : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' M' M' (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.module.{u4, u2, u2} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Finsupp.total.{u4, u1, u2} α α' R M' _inst_9 _inst_10 (Function.comp.{succ u4, succ u3, succ u1} α _inst_1 α' v' (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Function.Embedding.{succ u4, succ u3} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => _inst_1) _x) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Function.Embedding.{succ u4, succ u3} α _inst_1) α _inst_1 (Function.instEmbeddingLikeEmbedding.{succ u4, succ u3} α _inst_1)) f))) l) Case conversion may be inaccurate. Consider using '#align finsupp.total_emb_domain Finsupp.total_embDomainₓ'. -/ @[simp] theorem total_embDomain (f : α ↪ α') (l : α →₀ R) : @@ -1041,7 +1041,7 @@ theorem total_embDomain (f : α ↪ α') (l : α →₀ R) : lean 3 declaration is forall {α : Type.{u1}} (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {α' : Type.{u3}} {M' : Type.{u4}} [_inst_9 : AddCommMonoid.{u4} M'] [_inst_10 : Module.{u2, u4} R M' _inst_1 _inst_9] {v' : α' -> M'} (f : α -> α') (l : Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), Eq.{succ u4} M' (coeFn.{max (succ (max u3 u2)) (succ u4), max (succ (max u3 u2)) (succ u4)} (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} α' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{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_9 (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_10) (fun (_x : LinearMap.{u2, u2, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} α' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{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_9 (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_10) => (Finsupp.{u3, u2} α' 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, u4} R R (Finsupp.{u3, u2} α' 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} α' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (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_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u4, u2} α' M' R _inst_1 _inst_9 _inst_10 v') (Finsupp.mapDomain.{u1, u3, u2} α α' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f l)) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u2, u2, max u1 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M' (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_10) (fun (_x : LinearMap.{u2, u2, max u1 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M' (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_10) => (Finsupp.{u1, u2} α 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 u1 u2, u4} R R (Finsupp.{u1, u2} α 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.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u4, u2} α M' R _inst_1 _inst_9 _inst_10 (Function.comp.{succ u1, succ u3, succ u4} α α' M' v' f)) l) but is expected to have type - forall {α : Type.{u4}} (R : Type.{u3}) {_inst_1 : Type.{u1}} {α' : Type.{u2}} [M' : Semiring.{u3} R] [_inst_9 : AddCommMonoid.{u2} α'] [_inst_10 : Module.{u3, u2} R α' M' _inst_9] {v' : _inst_1 -> α'} (f : α -> _inst_1) (l : Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) => α') (Finsupp.mapDomain.{u4, u1, u3} α _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) f l)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (LinearMap.{u3, u3, max u3 u1, u2} R R M' M' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) α' (Finsupp.addCommMonoid.{u1, u3} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10) (Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) (fun (_x : Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u3 u1, u2} R R (Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) α' M' M' (Finsupp.addCommMonoid.{u1, u3} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Finsupp.total.{u1, u2, u3} _inst_1 α' R M' _inst_9 _inst_10 v') (Finsupp.mapDomain.{u4, u1, u3} α _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) f l)) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u3), succ u2} (LinearMap.{u3, u3, max u3 u4, u2} R R M' M' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) α' (Finsupp.addCommMonoid.{u4, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10) (Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) (fun (_x : Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u4 u3, u2} R R (Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) α' M' M' (Finsupp.addCommMonoid.{u4, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u3} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Finsupp.total.{u4, u2, u3} α α' R M' _inst_9 _inst_10 (Function.comp.{succ u4, succ u1, succ u2} α _inst_1 α' v' f)) l) + forall {α : Type.{u4}} (R : Type.{u3}) {_inst_1 : Type.{u1}} {α' : Type.{u2}} [M' : Semiring.{u3} R] [_inst_9 : AddCommMonoid.{u2} α'] [_inst_10 : Module.{u3, u2} R α' M' _inst_9] {v' : _inst_1 -> α'} (f : α -> _inst_1) (l : Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) => α') (Finsupp.mapDomain.{u4, u1, u3} α _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) f l)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (LinearMap.{u3, u3, max u3 u1, u2} R R M' M' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) α' (Finsupp.addCommMonoid.{u1, u3} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.module.{u1, u3, u3} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10) (Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) (fun (_x : Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u3 u1, u2} R R (Finsupp.{u1, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) α' M' M' (Finsupp.addCommMonoid.{u1, u3} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.module.{u1, u3, u3} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Finsupp.total.{u1, u2, u3} _inst_1 α' R M' _inst_9 _inst_10 v') (Finsupp.mapDomain.{u4, u1, u3} α _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) f l)) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u3), succ u2} (LinearMap.{u3, u3, max u3 u4, u2} R R M' M' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')) (Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) α' (Finsupp.addCommMonoid.{u4, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.module.{u4, u3, u3} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10) (Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) (fun (_x : Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u4 u3, u2} R R (Finsupp.{u4, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R M'))) α' M' M' (Finsupp.addCommMonoid.{u4, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M')))) _inst_9 (Finsupp.module.{u4, u3, u3} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Semiring.toModule.{u3} R M')) _inst_10 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R M'))) (Finsupp.total.{u4, u2, u3} α α' R M' _inst_9 _inst_10 (Function.comp.{succ u4, succ u1, succ u2} α _inst_1 α' v' f)) l) Case conversion may be inaccurate. Consider using '#align finsupp.total_map_domain Finsupp.total_mapDomainₓ'. -/ @[simp] theorem total_mapDomain (f : α → α') (l : α →₀ R) : @@ -1053,7 +1053,7 @@ theorem total_mapDomain (f : α → α') (l : α →₀ R) : lean 3 declaration is forall {α : Type.{u1}} (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {α' : Type.{u3}} {M' : Type.{u4}} [_inst_9 : AddCommMonoid.{u4} M'] [_inst_10 : Module.{u2, u4} R M' _inst_1 _inst_9] {v' : α' -> M'} (f : Equiv.{succ u1, succ u3} α α') (l : Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), Eq.{succ u4} M' (coeFn.{max (succ (max u3 u2)) (succ u4), max (succ (max u3 u2)) (succ u4)} (LinearMap.{u2, u2, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} α' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{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_9 (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_10) (fun (_x : LinearMap.{u2, u2, max u3 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u3, u2} α' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{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_9 (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_10) => (Finsupp.{u3, u2} α' 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, u4} R R (Finsupp.{u3, u2} α' 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} α' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (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_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u4, u2} α' M' R _inst_1 _inst_9 _inst_10 v') (Finsupp.equivMapDomain.{u1, u3, u2} α α' R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) f l)) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (LinearMap.{u2, u2, max u1 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M' (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_10) (fun (_x : LinearMap.{u2, u2, max u1 u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M' (Finsupp.addCommMonoid.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_10) => (Finsupp.{u1, u2} α 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 u1 u2, u4} R R (Finsupp.{u1, u2} α 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.{u1, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_9 (Finsupp.module.{u1, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u4, u2} α M' R _inst_1 _inst_9 _inst_10 (Function.comp.{succ u1, succ u3, succ u4} α α' M' v' (coeFn.{max 1 (max (succ u1) (succ u3)) (succ u3) (succ u1), max (succ u1) (succ u3)} (Equiv.{succ u1, succ u3} α α') (fun (_x : Equiv.{succ u1, succ u3} α α') => α -> α') (Equiv.hasCoeToFun.{succ u1, succ u3} α α') f))) l) but is expected to have type - forall {α : Type.{u4}} (R : Type.{u2}) {_inst_1 : Type.{u3}} {α' : Type.{u1}} [M' : Semiring.{u2} R] [_inst_9 : AddCommMonoid.{u1} α'] [_inst_10 : Module.{u2, u1} R α' M' _inst_9] {v' : _inst_1 -> α'} (f : Equiv.{succ u4, succ u3} α _inst_1) (l : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') (Finsupp.equivMapDomain.{u4, u3, u2} α _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M')) f l)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R M' M' (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')) (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' (Finsupp.addCommMonoid.{u3, u2} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10) (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) (fun (_x : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' M' M' (Finsupp.addCommMonoid.{u3, u2} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Finsupp.total.{u3, u1, u2} _inst_1 α' R M' _inst_9 _inst_10 v') (Finsupp.equivMapDomain.{u4, u3, u2} α _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M')) f l)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u1), max (succ u4) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u4, u1} R R M' M' (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u2} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) (fun (_x : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' M' M' (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u2} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Finsupp.total.{u4, u1, u2} α α' R M' _inst_9 _inst_10 (Function.comp.{succ u4, succ u3, succ u1} α _inst_1 α' v' (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Equiv.{succ u4, succ u3} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : α) => _inst_1) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} α _inst_1) f))) l) + forall {α : Type.{u4}} (R : Type.{u2}) {_inst_1 : Type.{u3}} {α' : Type.{u1}} [M' : Semiring.{u2} R] [_inst_9 : AddCommMonoid.{u1} α'] [_inst_10 : Module.{u2, u1} R α' M' _inst_9] {v' : _inst_1 -> α'} (f : Equiv.{succ u4, succ u3} α _inst_1) (l : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') (Finsupp.equivMapDomain.{u4, u3, u2} α _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M')) f l)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R M' M' (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')) (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' (Finsupp.addCommMonoid.{u3, u2} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.module.{u3, u2, u2} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10) (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) (fun (_x : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, u1} R R (Finsupp.{u3, u2} _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' M' M' (Finsupp.addCommMonoid.{u3, u2} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.module.{u3, u2, u2} _inst_1 R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Finsupp.total.{u3, u1, u2} _inst_1 α' R M' _inst_9 _inst_10 v') (Finsupp.equivMapDomain.{u4, u3, u2} α _inst_1 R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M')) f l)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u1), max (succ u4) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u4, u1} R R M' M' (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.module.{u4, u2, u2} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) (fun (_x : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) => α') _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u4 u2, u1} R R (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R M'))) α' M' M' (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M')))) _inst_9 (Finsupp.module.{u4, u2, u2} α R R M' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Semiring.toModule.{u2} R M')) _inst_10 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R M'))) (Finsupp.total.{u4, u1, u2} α α' R M' _inst_9 _inst_10 (Function.comp.{succ u4, succ u3, succ u1} α _inst_1 α' v' (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Equiv.{succ u4, succ u3} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : α) => _inst_1) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} α _inst_1) f))) l) Case conversion may be inaccurate. Consider using '#align finsupp.total_equiv_map_domain Finsupp.total_equivMapDomainₓ'. -/ @[simp] theorem total_equivMapDomain (f : α ≃ α') (l : α →₀ R) : @@ -1065,7 +1065,7 @@ theorem total_equivMapDomain (f : α ≃ α') (l : α →₀ R) : 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] (s : Set.{u1} M), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.span.{u2, u1} R M _inst_1 _inst_3 _inst_4 s) (LinearMap.range.{u2, u2, max u1 u2, u1, max u1 u2} R R (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) 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.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) 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)) (LinearMap.{u2, u2, max u1 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) 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.semilinearMapClass.{u2, u2, max u1 u2, u1} R R (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) 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.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) 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))) (RingHomSurjective.ids.{u2} R _inst_1) (Finsupp.total.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) M R _inst_1 _inst_3 _inst_4 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) M (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) M (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) M (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) M (coeSubtype.{succ u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Set.{u1} M) (Set.hasMem.{u1} M) x s)))))))) but is expected to have type - forall {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] (s : Set.{u2} M), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 s) (LinearMap.range.{u1, u1, max u2 u1, u2, max u2 u1} R R (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} (Set.Elem.{u2} M s) 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)) (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} (Set.Elem.{u2} M s) 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.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, u2} R R (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} (Set.Elem.{u2} M s) 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))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.total.{u2, u2, u1} (Set.Elem.{u2} M s) M R _inst_1 _inst_3 _inst_4 (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s)))) + forall {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] (s : Set.{u2} M), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 s) (LinearMap.range.{u1, u1, max u2 u1, u2, max u2 u1} R R (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} (Set.Elem.{u2} M s) 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)) (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} (Set.Elem.{u2} M s) 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.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, u2} R R (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} (Set.Elem.{u2} M s) 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))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.total.{u2, u2, u1} (Set.Elem.{u2} M s) M R _inst_1 _inst_3 _inst_4 (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s)))) Case conversion may be inaccurate. Consider using '#align finsupp.span_eq_range_total Finsupp.span_eq_range_totalₓ'. -/ /-- A version of `finsupp.range_total` which is useful for going in the other direction -/ theorem span_eq_range_total (s : Set M) : span R s = (Finsupp.total s M R coe).range := by @@ -1076,7 +1076,7 @@ theorem span_eq_range_total (s : Set M) : span R s = (Finsupp.total s M R coe).r 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] (s : Set.{u1} M) (x : M), Iff (Membership.Mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u2, u1} R M _inst_1 _inst_3 _inst_4 s)) (Exists.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (l : Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) 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 u1 u2)) (succ u1), max (succ (max u1 u2)) (succ u1)} (LinearMap.{u2, u2, max u1 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) 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 u1 u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) 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.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) 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 u1 u2, u1} R R (Finsupp.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) 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.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u2, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) 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.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) M R _inst_1 _inst_3 _inst_4 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) M (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) M (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) M (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} M) Type.{u1} (Set.hasCoeToSort.{u1} M) s) M (coeSubtype.{succ u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Set.{u1} M) (Set.hasMem.{u1} M) x s))))))) l) x)) but is expected to have type - forall {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] (s : Set.{u2} M) (x : M), Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 s)) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (l : Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} (Set.Elem.{u2} M s) 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.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u1, u2} R R (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} (Set.Elem.{u2} M s) 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))) (Finsupp.total.{u2, u2, u1} (Set.Elem.{u2} M s) M R _inst_1 _inst_3 _inst_4 (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s))) l) x)) + forall {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] (s : Set.{u2} M) (x : M), Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 s)) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (l : Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} (Set.Elem.{u2} M s) 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.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u2 u1, u2} R R (Finsupp.{u2, u1} (Set.Elem.{u2} M s) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M s) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{u2, u1, u1} (Set.Elem.{u2} M s) 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))) (Finsupp.total.{u2, u2, u1} (Set.Elem.{u2} M s) M R _inst_1 _inst_3 _inst_4 (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s))) l) x)) Case conversion may be inaccurate. Consider using '#align finsupp.mem_span_iff_total Finsupp.mem_span_iff_totalₓ'. -/ theorem mem_span_iff_total (s : Set M) (x : M) : x ∈ span R s ↔ ∃ l : s →₀ R, Finsupp.total s M R coe l = x := @@ -1102,7 +1102,7 @@ variable (R) 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] {v : α -> M} (s : Set.{u1} α), Eq.{succ u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s)) (Submodule.map.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} 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_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)) (RingHomSurjective.ids.{u3} R _inst_1) (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.semilinearMapClass.{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 v) (Finsupp.supported.{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) s)) 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] {v : α -> M} (s : Set.{u3} α), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)) (Submodule.map.{u1, u1, max u1 u3, u2, max (max u3 u2) u1} R R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHomSurjective.ids.{u1} R _inst_1) (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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instSemilinearMapClassLinearMap.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Finsupp.total.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 v) (Finsupp.supported.{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)) + 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] {v : α -> M} (s : Set.{u3} α), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)) (Submodule.map.{u1, u1, max u1 u3, u2, max (max u3 u2) u1} R R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{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)) (RingHomSurjective.ids.{u1} R _inst_1) (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.instSemilinearMapClassLinearMap.{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))) (Finsupp.total.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 v) (Finsupp.supported.{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)) Case conversion may be inaccurate. Consider using '#align finsupp.span_image_eq_map_total Finsupp.span_image_eq_map_totalₓ'. -/ theorem span_image_eq_map_total (s : Set α) : span R (v '' s) = Submodule.map (Finsupp.total α M R v) (supported R R s) := @@ -1128,7 +1128,7 @@ theorem span_image_eq_map_total (s : Set α) : 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] {v : α -> M} {s : Set.{u1} α} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Exists.{succ (max u1 u3)} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (l : Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => Exists.{0} (Membership.Mem.{max u1 u3, max u1 u3} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (SetLike.hasMem.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (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_1))))))) (Submodule.setLike.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))) l (Finsupp.supported.{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) s)) (fun (H : Membership.Mem.{max u1 u3, max u1 u3} (Finsupp.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (SetLike.hasMem.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (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_1))))))) (Submodule.setLike.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))) l (Finsupp.supported.{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) s)) => 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 v) l) x))) 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] {v : α -> M} {s : Set.{u3} α} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Exists.{succ (max u3 u1)} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (l : Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => And (Membership.mem.{max u3 u1, max u1 u3} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))) l (Finsupp.supported.{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)) (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), succ u2} (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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (a : Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) a) (LinearMap.instFunLikeLinearMap.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Finsupp.total.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 v) l) x))) + 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] {v : α -> M} {s : Set.{u3} α} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Exists.{succ (max u3 u1)} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (l : Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => And (Membership.mem.{max u3 u1, max u1 u3} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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))) (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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)))) l (Finsupp.supported.{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)) (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), succ u2} (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.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (a : Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) a) (LinearMap.instFunLikeLinearMap.{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))) (Finsupp.total.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 v) l) x))) Case conversion may be inaccurate. Consider using '#align finsupp.mem_span_image_iff_total Finsupp.mem_span_image_iff_totalₓ'. -/ theorem mem_span_image_iff_total {s : Set α} {x : M} : x ∈ span R (v '' s) ↔ ∃ l ∈ supported R R s, Finsupp.total α M R v l = x := @@ -1139,9 +1139,9 @@ theorem mem_span_image_iff_total {s : Set α} {x : M} : /- warning: finsupp.total_option -> Finsupp.total_option is a dubious translation: 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] (v : (Option.{u1} α) -> M) (f : Finsupp.{u1, u3} (Option.{u1} α) 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} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u3} (Option.{u1} α) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} (Option.{u1} α) 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} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u3} (Option.{u1} α) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} (Option.{u1} α) 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} (Option.{u1} α) 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} (Option.{u1} α) 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} (Option.{u1} α) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} (Option.{u1} α) 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} (Option.{u1} α) M R _inst_1 _inst_3 _inst_4 v) f) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (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_1)))) (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_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => (Option.{u1} α) -> R) (Finsupp.hasCoeToFun.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) f (Option.none.{u1} α)) (v (Option.none.{u1} α))) (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 (Function.comp.{succ u1, succ u1, succ u2} α (Option.{u1} α) M v (Option.some.{u1} α))) (Finsupp.some.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) f))) + 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] (v : (Option.{u1} α) -> M) (f : Finsupp.{u1, u3} (Option.{u1} α) 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} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u3} (Option.{u1} α) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} (Option.{u1} α) 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} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u3} (Option.{u1} α) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} (Option.{u1} α) 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} (Option.{u1} α) 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} (Option.{u1} α) 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} (Option.{u1} α) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u1, u3, u3} (Option.{u1} α) 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} (Option.{u1} α) M R _inst_1 _inst_3 _inst_4 v) f) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (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_1)))) (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_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => (Option.{u1} α) -> R) (Finsupp.coeFun.{u1, u3} (Option.{u1} α) R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) f (Option.none.{u1} α)) (v (Option.none.{u1} α))) (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 (Function.comp.{succ u1, succ u1, succ u2} α (Option.{u1} α) M v (Option.some.{u1} α))) (Finsupp.some.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) f))) 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] (v : (Option.{u3} α) -> M) (f : Finsupp.{u3, u2} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) (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} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} (Option.{u3} α) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} (Option.{u3} α) 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} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (_x : Finsupp.{u3, u2} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} (Option.{u3} α) 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} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} (Option.{u3} α) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} (Option.{u3} α) 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} (Option.{u3} α) M R _inst_1 _inst_3 _inst_4 v) f) (HAdd.hAdd.{u1, u1, u1} M ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) (Finsupp.some.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) f)) M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M M (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M _inst_1 _inst_3 _inst_4))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Option.{u3} α) (fun (_x : Option.{u3} α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) _x) (Finsupp.funLike.{u3, u2} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) f (Option.none.{u3} α)) (v (Option.none.{u3} α))) (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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6178 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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 (Function.comp.{succ u3, succ u3, succ u1} α (Option.{u3} α) M v (Option.some.{u3} α))) (Finsupp.some.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) f))) + 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] (v : (Option.{u3} α) -> M) (f : Finsupp.{u3, u2} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) (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} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u3, u2} (Option.{u3} α) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (Option.{u3} α) 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} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (_x : Finsupp.{u3, u2} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} (Option.{u3} α) 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} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} (Option.{u3} α) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u3, u2, u2} (Option.{u3} α) 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} (Option.{u3} α) M R _inst_1 _inst_3 _inst_4 v) f) (HAdd.hAdd.{u1, u1, u1} M ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) (Finsupp.some.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) f)) M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M M (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) (Option.none.{u3} α)) M _inst_1 _inst_3 _inst_4))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Option.{u3} α) (fun (_x : Option.{u3} α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Option.{u3} α) => R) _x) (Finsupp.funLike.{u3, u2} (Option.{u3} α) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) f (Option.none.{u3} α)) (v (Option.none.{u3} α))) (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.6178 : 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 (Function.comp.{succ u3, succ u3, succ u1} α (Option.{u3} α) M v (Option.some.{u3} α))) (Finsupp.some.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) f))) Case conversion may be inaccurate. Consider using '#align finsupp.total_option Finsupp.total_optionₓ'. -/ theorem total_option (v : Option α → M) (f : Option α →₀ R) : Finsupp.total (Option α) M R v f = @@ -1153,7 +1153,7 @@ theorem total_option (v : Option α → M) (f : Option α →₀ R) : 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] {α : Type.{u3}} {β : Type.{u4}} (A : α -> M) (B : β -> (Finsupp.{u3, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (f : Finsupp.{u4, u2} β 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} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{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) (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} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{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 (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} α 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} α 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 A) (coeFn.{max (succ (max u4 u2)) (succ (max u3 u2)), max (succ (max u4 u2)) (succ (max u3 u2))} (LinearMap.{u2, u2, max u4 u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} β R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.{u3, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.addCommMonoid.{u4, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u4, u2, u2} β R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Finsupp.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))) (fun (_x : LinearMap.{u2, u2, max u4 u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u4, u2} β R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.{u3, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.addCommMonoid.{u4, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u4, u2, u2} β R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Finsupp.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))) => (Finsupp.{u4, u2} β R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) -> (Finsupp.{u3, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))) (LinearMap.hasCoeToFun.{u2, u2, max u4 u2, max u3 u2} R R (Finsupp.{u4, u2} β R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.{u3, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u4, u2, u2} β R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Finsupp.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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u4, max u3 u2, u2} β (Finsupp.{u3, u2} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) R _inst_1 (Finsupp.addCommMonoid.{u3, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)) B) f)) (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} β R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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) (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} β R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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.{u4, u2} β 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} β 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} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4 (fun (b : β) => 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} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{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) (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} α R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{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 (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} α 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} α 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 A) (B b))) f) 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] {α : Type.{u4}} {β : Type.{u3}} (A : α -> M) (B : β -> (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (f : Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u4)} (LinearMap.{u2, u2, max u2 u3, max u2 u4} 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))) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) a) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, max u2 u4} R R (Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, max u2 u4, u2} β (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) R _inst_1 (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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)) B) f)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u2) (succ u4), succ u1} (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} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (_x : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u4, u1} R R (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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.{u4, u1, u2} α M R _inst_1 _inst_3 _inst_4 A) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u4)} (LinearMap.{u2, u2, max u2 u3, max u2 u4} 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))) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.{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.6178 : Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, max u2 u4} R R (Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, max u2 u4, u2} β (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) R _inst_1 (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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)) B) f)) (FunLike.coe.{max (max (succ u1) (succ u2)) (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)) (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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6178 : Finsupp.{u3, u2} β 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} β 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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 (fun (b : β) => FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u2) (succ u4), succ u1} (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} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (_x : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u4, u1} R R (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, 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.{u4, u1, u2} α M R _inst_1 _inst_3 _inst_4 A) (B b))) f) + 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] {α : Type.{u4}} {β : Type.{u3}} (A : α -> M) (B : β -> (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (f : Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u4)} (LinearMap.{u2, u2, max u2 u3, max u2 u4} 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))) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)) (Finsupp.module.{u4, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) a) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, max u2 u4} R R (Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)) (Finsupp.module.{u4, 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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, max u2 u4, u2} β (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) R _inst_1 (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u4, 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)) B) f)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u2) (succ u4), succ u1} (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} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (_x : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u4, u1} R R (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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.{u4, u1, u2} α M R _inst_1 _inst_3 _inst_4 A) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u2) (succ u3), max (succ u2) (succ u4)} (LinearMap.{u2, u2, max u2 u3, max u2 u4} 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))) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.addCommMonoid.{u3, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)) (Finsupp.module.{u4, u2, u2} α R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.{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.6178 : Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u3, max u2 u4} R R (Finsupp.{u3, u2} β R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u2} β R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)) (Finsupp.module.{u4, 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)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, max u2 u4, u2} β (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) R _inst_1 (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u4, 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)) B) f)) (FunLike.coe.{max (max (succ u1) (succ u2)) (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)) (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.6178 : Finsupp.{u3, u2} β 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} β 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 (fun (b : β) => FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u2) (succ u4), succ u1} (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} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (_x : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u2 u4, u1} R R (Finsupp.{u4, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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.{u4, u1, u2} α M R _inst_1 _inst_3 _inst_4 A) (B b))) f) Case conversion may be inaccurate. Consider using '#align finsupp.total_total Finsupp.total_totalₓ'. -/ theorem total_total {α β : Type _} (A : α → M) (B : β → α →₀ R) (f : β →₀ R) : Finsupp.total α M R A (Finsupp.total β (α →₀ R) R B f) = @@ -1171,7 +1171,7 @@ theorem total_total {α β : Type _} (A : α → M) (B : β → α →₀ R) (f 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] (f : (Fin (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> M), Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{0, u2} (Fin (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{0, u2} (Fin (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{0, u2, u2} (Fin (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) 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.total.{0, u1, u2} (Fin (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) M R _inst_1 _inst_3 _inst_4 f) (OfNat.ofNat.{max u2 u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{0, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{0, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{0, u2, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) 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) 0 (OfNat.mk.{max u2 u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{0, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{0, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{0, u2, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) 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) 0 (Zero.zero.{max u2 u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{0, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{0, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{0, u2, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) 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.hasZero.{u2, u2, u2, u1} R R (Finsupp.{0, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) 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.{0, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_3 (Finsupp.module.{0, u2, u2} (Fin (Zero.zero.{0} Nat Nat.hasZero)) 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)))))) but is expected to have type - forall {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] (f : (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> M), Eq.{max (succ u2) (succ u1)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) 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.{0, u2, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) M R _inst_1 _inst_3 _inst_4 f) (OfNat.ofNat.{max u2 u1} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) 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 u2 u1} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) 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, u1, u2} R R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) 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 {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] (f : (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> M), Eq.{max (succ u2) (succ u1)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) 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.{0, u2, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) M R _inst_1 _inst_3 _inst_4 f) (OfNat.ofNat.{max u2 u1} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) 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 u2 u1} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) 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, u1, u2} R R (Finsupp.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{0, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.module.{0, u1, u1} (Fin (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) 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_fin_zero Finsupp.total_fin_zeroₓ'. -/ @[simp] theorem total_fin_zero (f : Fin 0 → M) : Finsupp.total (Fin 0) M R f = 0 := @@ -1186,7 +1186,7 @@ variable (α) (M) (v) 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] (v : α -> M) (s : Set.{u1} α), LinearMap.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (coeSort.{succ (max u1 u3), succ (succ (max u1 u3))} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) Type.{max u1 u3} (SetLike.hasCoeToSort.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (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_1))))))) (Submodule.setLike.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))) (Finsupp.supported.{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) s)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_3 _inst_4)) (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Submodule.addCommMonoid.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (Finsupp.supported.{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) s)) (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Submodule.module.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (Finsupp.supported.{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) s)) (Submodule.module.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) but is expected to have type - 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] (v : α -> M) (s : Set.{u1} α), LinearMap.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ (max u1 u3)} (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (fun (x : Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) => Membership.mem.{max u1 u3, max u1 u3} (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Submodule.{u3, max u3 u1} R (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SetLike.instMembership.{max u1 u3, max u1 u3} (Submodule.{u3, max u3 u1} R (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))) x (Finsupp.supported.{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) s))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.supported.{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) s)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.supported.{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) s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) + 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] (v : α -> M) (s : Set.{u1} α), LinearMap.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Subtype.{succ (max u1 u3)} (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (fun (x : Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) => Membership.mem.{max u1 u3, max u1 u3} (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Submodule.{u3, max u3 u1} R (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (SetLike.instMembership.{max u1 u3, max u1 u3} (Submodule.{u3, max u3 u1} R (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))) x (Finsupp.supported.{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) s))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (Finsupp.supported.{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) s)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u3} R (Finsupp.{u1, u3} α R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (Finsupp.supported.{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) s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) Case conversion may be inaccurate. Consider using '#align finsupp.total_on Finsupp.totalOnₓ'. -/ /-- `finsupp.total_on M v s` interprets `p : α →₀ R` as a linear combination of a subset of the vectors in `v`, mapping it to the span of those vectors. @@ -1204,7 +1204,7 @@ variable {α} {M} {v} 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] {v : α -> M} (s : Set.{u1} α), Eq.{succ u2} (Submodule.{u3, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_3 _inst_4)) (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Submodule.module.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s)))) (LinearMap.range.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (coeSort.{succ (max u1 u3), succ (succ (max u1 u3))} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) Type.{max u1 u3} (SetLike.hasCoeToSort.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (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_1))))))) (Submodule.setLike.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))) (Finsupp.supported.{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) s)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_3 _inst_4)) (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) _inst_1 _inst_1 (Submodule.addCommMonoid.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (Finsupp.supported.{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) s)) (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Submodule.module.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (Finsupp.supported.{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) s)) (Submodule.module.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (LinearMap.{u3, u3, max u1 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (coeSort.{succ (max u1 u3), succ (succ (max u1 u3))} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) Type.{max u1 u3} (SetLike.hasCoeToSort.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (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_1))))))) (Submodule.setLike.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))) (Finsupp.supported.{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) s)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_3 _inst_4)) (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Submodule.addCommMonoid.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (Finsupp.supported.{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) s)) (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Submodule.module.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (Finsupp.supported.{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) s)) (Submodule.module.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s)))) (LinearMap.semilinearMapClass.{u3, u3, max u1 u3, u2} R R (coeSort.{succ (max u1 u3), succ (succ (max u1 u3))} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) Type.{max u1 u3} (SetLike.hasCoeToSort.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) (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_1))))))) (Submodule.setLike.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)))) (Finsupp.supported.{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) s)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_3 _inst_4)) (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) _inst_1 _inst_1 (Submodule.addCommMonoid.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (Finsupp.supported.{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) s)) (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Submodule.module.{u3, max u1 u3} 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_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (Finsupp.supported.{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) s)) (Submodule.module.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (RingHomSurjective.ids.{u3} R _inst_1) (Finsupp.totalOn.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 v s)) (Top.top.{u2} (Submodule.{u3, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_3 _inst_4)) (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Submodule.module.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s)))) (Submodule.hasTop.{u3, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_3 _inst_4)) (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) _inst_1 (Submodule.addCommMonoid.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))) (Submodule.module.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u3, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u1, u2} α M v s))))) 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] {v : α -> M} (s : Set.{u3} α), Eq.{succ u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) (LinearMap.range.{u1, u1, max u3 u1, u2, max (max u3 u2) u1} R R (Subtype.{succ (max u3 u1)} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u3 u1, max u3 u1} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))) x (Finsupp.supported.{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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.supported.{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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.supported.{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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Subtype.{succ (max u3 u1)} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u3 u1, max u3 u1} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))) x (Finsupp.supported.{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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.supported.{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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.supported.{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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u3 u1, u2} R R (Subtype.{succ (max u3 u1)} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u3 u1, max u3 u1} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))) x (Finsupp.supported.{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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.supported.{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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.supported.{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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.totalOn.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 v s)) (Top.top.{u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) (Submodule.instTopSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))))) + 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] {v : α -> M} (s : Set.{u3} α), Eq.{succ u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) (LinearMap.range.{u1, u1, max u3 u1, u2, max (max u3 u2) u1} R R (Subtype.{succ (max u3 u1)} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u3 u1, max u3 u1} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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))) (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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)))) x (Finsupp.supported.{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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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)) (Finsupp.supported.{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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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)) (Finsupp.supported.{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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Subtype.{succ (max u3 u1)} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u3 u1, max u3 u1} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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))) (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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)))) x (Finsupp.supported.{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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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)) (Finsupp.supported.{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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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)) (Finsupp.supported.{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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u3 u1, u2} R R (Subtype.{succ (max u3 u1)} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u3 u1, max u3 u1} (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u1 u3} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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))) (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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)))) x (Finsupp.supported.{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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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)) (Finsupp.supported.{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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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)) (Finsupp.supported.{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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R _inst_1) (Finsupp.totalOn.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4 v s)) (Top.top.{u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) (Submodule.instTopSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s)))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Submodule.span.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Set.image.{u3, u2} α M v s))))) Case conversion may be inaccurate. Consider using '#align finsupp.total_on_range Finsupp.totalOn_rangeₓ'. -/ theorem totalOn_range (s : Set α) : (Finsupp.totalOn α M R v s).range = ⊤ := by @@ -1217,7 +1217,7 @@ theorem totalOn_range (s : Set α) : (Finsupp.totalOn α M R v s).range = ⊤ := 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] {α' : Type.{u4}} {v : α -> M} (f : α' -> α), Eq.{max (succ (max u4 u3)) (succ u2)} (LinearMap.{u3, u3, max u4 u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u3} α' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.module.{u4, 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.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 (Function.comp.{succ u4, succ u1, succ u2} α' α M v f)) (LinearMap.comp.{u3, u3, u3, max u4 u3, max u1 u3, u2} R R R (Finsupp.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{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 _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u3} α' R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _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.{u4, 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)) (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.right_ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Finsupp.total.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 v) (Finsupp.lmapDomain.{u4, u3, u3, u1} α' R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1) α f)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u4}} (R : Type.{u3}) {_inst_1 : Type.{u2}} [_inst_3 : Semiring.{u3} R] [_inst_4 : AddCommMonoid.{u4} M] [α' : Module.{u3, u4} R M _inst_3 _inst_4] {v : α -> M} (f : _inst_1 -> α), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (LinearMap.{u3, u3, max u3 u2, u4} R R _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (Finsupp.{u2, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) M (Finsupp.addCommMonoid.{u2, u3} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} _inst_1 R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3)) α') (Finsupp.total.{u2, u4, u3} _inst_1 M R _inst_3 _inst_4 α' (Function.comp.{succ u2, succ u1, succ u4} _inst_1 α M v f)) (LinearMap.comp.{u3, u3, u3, max u3 u2, max u1 u3, u4} R R R (Finsupp.{u2, u3} _inst_1 R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))))) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) M _inst_3 _inst_3 _inst_3 (Finsupp.addCommMonoid.{u2, u3} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} _inst_1 R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u3} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3)) α' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (RingHomCompTriple.ids.{u3, u3} R R _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Finsupp.total.{u1, u4, u3} α M R _inst_3 _inst_4 α' v) (Finsupp.lmapDomain.{u2, u3, u3, u1} _inst_1 R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3) α f)) + forall {α : Type.{u1}} {M : Type.{u4}} (R : Type.{u3}) {_inst_1 : Type.{u2}} [_inst_3 : Semiring.{u3} R] [_inst_4 : AddCommMonoid.{u4} M] [α' : Module.{u3, u4} R M _inst_3 _inst_4] {v : α -> M} (f : _inst_1 -> α), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (LinearMap.{u3, u3, max u3 u2, u4} R R _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (Finsupp.{u2, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) M (Finsupp.addCommMonoid.{u2, u3} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) _inst_4 (Finsupp.module.{u2, u3, u3} _inst_1 R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3)) α') (Finsupp.total.{u2, u4, u3} _inst_1 M R _inst_3 _inst_4 α' (Function.comp.{succ u2, succ u1, succ u4} _inst_1 α M v f)) (LinearMap.comp.{u3, u3, u3, max u3 u2, max u1 u3, u4} R R R (Finsupp.{u2, u3} _inst_1 R (AddMonoid.toZero.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))))) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) M _inst_3 _inst_3 _inst_3 (Finsupp.addCommMonoid.{u2, u3} _inst_1 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) _inst_4 (Finsupp.module.{u2, u3, u3} _inst_1 R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3)) (Finsupp.module.{u1, u3, u3} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3)) α' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (RingHomCompTriple.ids.{u3, u3} R R _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Finsupp.total.{u1, u4, u3} α M R _inst_3 _inst_4 α' v) (Finsupp.lmapDomain.{u2, u3, u3, u1} _inst_1 R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3) α f)) Case conversion may be inaccurate. Consider using '#align finsupp.total_comp Finsupp.total_compₓ'. -/ theorem total_comp (f : α' → α) : Finsupp.total α' M R (v ∘ f) = (Finsupp.total α M R v).comp (lmapDomain R R f) := @@ -1228,9 +1228,9 @@ theorem total_comp (f : α' → α) : /- warning: finsupp.total_comap_domain -> Finsupp.total_comapDomain is a dubious translation: 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] {α' : Type.{u4}} {v : α -> M} (f : α -> α') (l : Finsupp.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (hf : Set.InjOn.{u1, u4} α α' f (Set.preimage.{u1, u4} α α' f ((fun (a : Type.{u4}) (b : Type.{u4}) [self : HasLiftT.{succ u4, succ u4} a b] => self.0) (Finset.{u4} α') (Set.{u4} α') (HasLiftT.mk.{succ u4, succ u4} (Finset.{u4} α') (Set.{u4} α') (CoeTCₓ.coe.{succ u4, succ u4} (Finset.{u4} α') (Set.{u4} α') (Finset.Set.hasCoeT.{u4} α'))) (Finsupp.support.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) l)))), 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 v) (Finsupp.comapDomain.{u1, u4, u3} α α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) f l hf)) (Finset.sum.{u2, u1} M α _inst_3 (Finset.preimage.{u1, u4} α α' (Finsupp.support.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) l) f hf) (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_1)))) (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_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (Finsupp.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => α' -> R) (Finsupp.hasCoeToFun.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) l (f i)) (v i))) + 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] {α' : Type.{u4}} {v : α -> M} (f : α -> α') (l : Finsupp.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (hf : Set.InjOn.{u1, u4} α α' f (Set.preimage.{u1, u4} α α' f ((fun (a : Type.{u4}) (b : Type.{u4}) [self : HasLiftT.{succ u4, succ u4} a b] => self.0) (Finset.{u4} α') (Set.{u4} α') (HasLiftT.mk.{succ u4, succ u4} (Finset.{u4} α') (Set.{u4} α') (CoeTCₓ.coe.{succ u4, succ u4} (Finset.{u4} α') (Set.{u4} α') (Finset.Set.hasCoeT.{u4} α'))) (Finsupp.support.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) l)))), 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 v) (Finsupp.comapDomain.{u1, u4, u3} α α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) f l hf)) (Finset.sum.{u2, u1} M α _inst_3 (Finset.preimage.{u1, u4} α α' (Finsupp.support.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) l) f hf) (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_1)))) (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_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (Finsupp.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) (fun (_x : Finsupp.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) => α' -> R) (Finsupp.coeFun.{u4, u3} α' R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) l (f i)) (v i))) but is expected to have type - forall {α : Type.{u2}} {M : Type.{u1}} (R : Type.{u3}) {_inst_1 : Type.{u4}} [_inst_3 : Semiring.{u3} R] [_inst_4 : AddCommMonoid.{u1} M] [α' : Module.{u3, u1} R M _inst_3 _inst_4] {v : α -> M} (f : α -> _inst_1) (l : Finsupp.{u4, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) (hf : Set.InjOn.{u2, u4} α _inst_1 f (Set.preimage.{u2, u4} α _inst_1 f (Finset.toSet.{u4} _inst_1 (Finsupp.support.{u4, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3)) l)))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) => M) (Finsupp.comapDomain.{u2, u4, u3} α _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3)) f l hf)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) M (Finsupp.addCommMonoid.{u2, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3)) α') (Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) (fun (_x : Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) => M) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u2 u3, u1} R R (Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u2, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u3, u3} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3)) α' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Finsupp.total.{u2, u1, u3} α M R _inst_3 _inst_4 α' v) (Finsupp.comapDomain.{u2, u4, u3} α _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3)) f l hf)) (Finset.sum.{u1, u2} M α _inst_4 (Finset.preimage.{u2, u4} α _inst_1 (Finsupp.support.{u4, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3)) l) f hf) (fun (i : α) => HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) _inst_3)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) _inst_3) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M _inst_3 _inst_4 α'))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Finsupp.{u4, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) _inst_1 (fun (_x : _inst_1) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) _x) (Finsupp.funLike.{u4, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) l (f i)) (v i))) + forall {α : Type.{u2}} {M : Type.{u1}} (R : Type.{u3}) {_inst_1 : Type.{u4}} [_inst_3 : Semiring.{u3} R] [_inst_4 : AddCommMonoid.{u1} M] [α' : Module.{u3, u1} R M _inst_3 _inst_4] {v : α -> M} (f : α -> _inst_1) (l : Finsupp.{u4, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) (hf : Set.InjOn.{u2, u4} α _inst_1 f (Set.preimage.{u2, u4} α _inst_1 f (Finset.toSet.{u4} _inst_1 (Finsupp.support.{u4, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3)) l)))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) => M) (Finsupp.comapDomain.{u2, u4, u3} α _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3)) f l hf)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearMap.{u3, u3, max u3 u2, u1} R R _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) M (Finsupp.addCommMonoid.{u2, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) _inst_4 (Finsupp.module.{u2, u3, u3} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3)) α') (Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) (fun (_x : Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) => M) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u2 u3, u1} R R (Finsupp.{u2, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) M _inst_3 _inst_3 (Finsupp.addCommMonoid.{u2, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) _inst_4 (Finsupp.module.{u2, u3, u3} α R R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Semiring.toModule.{u3} R _inst_3)) α' (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Finsupp.total.{u2, u1, u3} α M R _inst_3 _inst_4 α' v) (Finsupp.comapDomain.{u2, u4, u3} α _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3)) f l hf)) (Finset.sum.{u1, u2} M α _inst_4 (Finset.preimage.{u2, u4} α _inst_1 (Finsupp.support.{u4, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3)) l) f hf) (fun (i : α) => HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) _inst_3)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) _inst_3) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_4)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) (f i)) M _inst_3 _inst_4 α'))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Finsupp.{u4, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) _inst_1 (fun (_x : _inst_1) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : _inst_1) => R) _x) (Finsupp.funLike.{u4, u3} _inst_1 R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3))) l (f i)) (v i))) Case conversion may be inaccurate. Consider using '#align finsupp.total_comap_domain Finsupp.total_comapDomainₓ'. -/ theorem total_comapDomain (f : α → α') (l : α' →₀ R) (hf : Set.InjOn f (f ⁻¹' ↑l.support)) : Finsupp.total α M R v (Finsupp.comapDomain f l hf) = @@ -1242,7 +1242,7 @@ theorem total_comapDomain (f : α → α') (l : α' →₀ R) (hf : Set.InjOn f 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] {s : Finset.{u1} α} {f : α -> R} (g : α -> M) (hf : forall (a : α), (Ne.{succ u3} R (f a) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))))))) -> (Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) a s)), 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 g) (Finsupp.onFinset.{u1, u3} α R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) s f hf)) (Finset.sum.{u2, u1} M α _inst_3 s (fun (x : α) => 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_1)))) (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_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (f x) (g x))) 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] {s : Finset.{u3} α} {f : α -> R} (g : α -> M) (hf : forall (a : α), (Ne.{succ u2} R (f a) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))))) -> (Membership.mem.{u3, u3} α (Finset.{u3} α) (Finset.instMembershipFinset.{u3} α) a s)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) (Finsupp.onFinset.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) s f hf)) (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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6178 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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 g) (Finsupp.onFinset.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) s f hf)) (Finset.sum.{u1, u3} M α _inst_3 s (fun (x : α) => 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))))) (f x) (g x))) + 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] {s : Finset.{u3} α} {f : α -> R} (g : α -> M) (hf : forall (a : α), (Ne.{succ u2} R (f a) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))))) -> (Membership.mem.{u3, u3} α (Finset.{u3} α) (Finset.instMembershipFinset.{u3} α) a s)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) (Finsupp.onFinset.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) s f hf)) (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.6178 : 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 g) (Finsupp.onFinset.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) s f hf)) (Finset.sum.{u1, u3} M α _inst_3 s (fun (x : α) => 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))))) (f x) (g x))) Case conversion may be inaccurate. Consider using '#align finsupp.total_on_finset Finsupp.total_onFinsetₓ'. -/ theorem total_onFinset {s : Finset α} {f : α → R} (g : α → M) (hf : ∀ a, f a ≠ 0 → a ∈ s) : Finsupp.total α M R g (Finsupp.onFinset s f hf) = Finset.sum s fun x : α => f x • g x := @@ -1260,7 +1260,7 @@ end Total 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] {α₁ : Type.{u3}} {α₂ : Type.{u4}}, (Equiv.{succ u3, succ u4} α₁ α₂) -> (LinearEquiv.{u2, u2, max u3 u1, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4)) 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] {α₁ : Type.{u3}} {α₂ : Type.{u4}}, (Equiv.{succ u3, succ u4} α₁ α₂) -> (LinearEquiv.{u2, u2, max u1 u3, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u3, u1} α₁ M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.{u4, u1} α₂ M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4)) + 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] {α₁ : Type.{u3}} {α₂ : Type.{u4}}, (Equiv.{succ u3, succ u4} α₁ α₂) -> (LinearEquiv.{u2, u2, max u1 u3, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u3, u1} α₁ M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.{u4, u1} α₂ M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.dom_lcongr Finsupp.domLCongrₓ'. -/ /-- An equivalence of domains induces a linear equivalence of finitely supported functions. @@ -1273,9 +1273,9 @@ protected def domLCongr {α₁ α₂ : Type _} (e : α₁ ≃ α₂) : (α₁ /- warning: finsupp.dom_lcongr_apply -> Finsupp.domLCongr_apply is a dubious translation: 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] {α₁ : Type.{u3}} {α₂ : Type.{u4}} (e : Equiv.{succ u3, succ u4} α₁ α₂) (v : Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))), Eq.{max (succ u4) (succ u1)} (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max u3 u1)) (succ (max u4 u1)), max (succ (max u3 u1)) (succ (max u4 u1))} (LinearEquiv.{u2, u2, max u3 u1, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4)) (fun (_x : LinearEquiv.{u2, u2, max u3 u1, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4)) => (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearEquiv.hasCoeToFun.{u2, u2, max u3 u1, max u4 u1} R R (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Finsupp.domLCongr.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α₁ α₂ e) v) (coeFn.{max (succ (max u3 u1)) (succ (max u4 u1)), max (succ (max u3 u1)) (succ (max u4 u1))} (AddEquiv.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.hasAdd.{u3, u1} α₁ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.hasAdd.{u4, u1} α₂ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : AddEquiv.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.hasAdd.{u3, u1} α₁ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.hasAdd.{u4, u1} α₂ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (AddEquiv.hasCoeToFun.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.hasAdd.{u3, u1} α₁ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.hasAdd.{u4, u1} α₂ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.domCongr.{u3, u4, u1} α₁ α₂ M _inst_3 e) v) + 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] {α₁ : Type.{u3}} {α₂ : Type.{u4}} (e : Equiv.{succ u3, succ u4} α₁ α₂) (v : Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))), Eq.{max (succ u4) (succ u1)} (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max u3 u1)) (succ (max u4 u1)), max (succ (max u3 u1)) (succ (max u4 u1))} (LinearEquiv.{u2, u2, max u3 u1, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4)) (fun (_x : LinearEquiv.{u2, u2, max u3 u1, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4)) => (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearEquiv.hasCoeToFun.{u2, u2, max u3 u1, max u4 u1} R R (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Finsupp.domLCongr.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α₁ α₂ e) v) (coeFn.{max (succ (max u3 u1)) (succ (max u4 u1)), max (succ (max u3 u1)) (succ (max u4 u1))} (AddEquiv.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.add.{u3, u1} α₁ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.add.{u4, u1} α₂ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : AddEquiv.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.add.{u3, u1} α₁ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.add.{u4, u1} α₂ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (AddEquiv.hasCoeToFun.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.add.{u3, u1} α₁ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.add.{u4, u1} α₂ M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.domCongr.{u3, u4, u1} α₁ α₂ M _inst_3 e) v) but is expected to have type - forall {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] {α₁ : Type.{u4}} {α₂ : Type.{u3}} (e : Equiv.{succ u4, succ u3} α₁ α₂) (v : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) v) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulZeroClass.toSMul.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3)) (Module.toDistribMulAction.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3)) (Module.toDistribMulAction.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3)) (Module.toDistribMulAction.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u4 u2, max u3 u2} R R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Finsupp.domLCongr.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α₁ α₂ e) v) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u2), max (succ u3) (succ u2)} (AddEquiv.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u4, u2} α₁ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u3, u2} α₂ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (AddHomClass.toFunLike.{max (max u4 u3) u2, max u4 u2, max u3 u2} (AddEquiv.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u4, u2} α₁ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u3, u2} α₂ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u4, u2} α₁ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddZeroClass.toAdd.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u3, u2} α₂ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoidHomClass.toAddHomClass.{max (max u4 u3) u2, max u4 u2, max u3 u2} (AddEquiv.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u4, u2} α₁ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u3, u2} α₂ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u4, u2} α₁ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u3, u2} α₂ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddEquivClass.instAddMonoidHomClass.{max (max u4 u3) u2, max u4 u2, max u3 u2} (AddEquiv.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u4, u2} α₁ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u3, u2} α₂ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u4, u2} α₁ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u3, u2} α₂ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddEquiv.instAddEquivClassAddEquiv.{max u4 u2, max u3 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u4, u2} α₁ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u3, u2} α₂ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))))) (Finsupp.domCongr.{u4, u3, u2} α₁ α₂ M _inst_3 e) v) + forall {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] {α₁ : Type.{u4}} {α₂ : Type.{u3}} (e : Equiv.{succ u4, succ u3} α₁ α₂) (v : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) v) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulZeroClass.toSMul.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3)) (Module.toDistribMulAction.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3)) (Module.toDistribMulAction.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3)) (Module.toDistribMulAction.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u4 u2, max u3 u2} R R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Finsupp.domLCongr.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α₁ α₂ e) v) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u2), max (succ u3) (succ u2)} (AddEquiv.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u4, u2} α₁ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u3, u2} α₂ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (AddHomClass.toFunLike.{max (max u4 u3) u2, max u4 u2, max u3 u2} (AddEquiv.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u4, u2} α₁ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u3, u2} α₂ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u4, u2} α₁ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddZeroClass.toAdd.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u3, u2} α₂ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoidHomClass.toAddHomClass.{max (max u4 u3) u2, max u4 u2, max u3 u2} (AddEquiv.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u4, u2} α₁ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u3, u2} α₂ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u4, u2} α₁ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u3, u2} α₂ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddEquivClass.instAddMonoidHomClass.{max (max u4 u3) u2, max u4 u2, max u3 u2} (AddEquiv.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u4, u2} α₁ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u3, u2} α₂ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u4, u2} α₁ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addMonoid.{u3, u2} α₂ M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddEquiv.instAddEquivClassAddEquiv.{max u4 u2, max u3 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u4, u2} α₁ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.add.{u3, u2} α₂ M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))))) (Finsupp.domCongr.{u4, u3, u2} α₁ α₂ M _inst_3 e) v) Case conversion may be inaccurate. Consider using '#align finsupp.dom_lcongr_apply Finsupp.domLCongr_applyₓ'. -/ @[simp] theorem domLCongr_apply {α₁ : Type _} {α₂ : Type _} (e : α₁ ≃ α₂) (v : α₁ →₀ M) : @@ -1287,7 +1287,7 @@ theorem domLCongr_apply {α₁ : Type _} {α₂ : Type _} (e : α₁ ≃ α₂) 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.{succ (max u1 u2)} (LinearEquiv.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.domLCongr.{u2, u3, u1, u1} M R _inst_1 _inst_3 _inst_4 α α (Equiv.refl.{succ u1} α)) (LinearEquiv.refl.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) 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 (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.domLCongr.{u2, u1, u3, u3} M R _inst_1 _inst_3 _inst_4 α α (Equiv.refl.{succ u3} α)) (LinearEquiv.refl.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) + 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 (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.domLCongr.{u2, u1, u3, u3} M R _inst_1 _inst_3 _inst_4 α α (Equiv.refl.{succ u3} α)) (LinearEquiv.refl.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.dom_lcongr_refl Finsupp.domLCongr_reflₓ'. -/ @[simp] theorem domLCongr_refl : Finsupp.domLCongr (Equiv.refl α) = LinearEquiv.refl R (α →₀ M) := @@ -1298,7 +1298,7 @@ theorem domLCongr_refl : Finsupp.domLCongr (Equiv.refl α) = LinearEquiv.refl R 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] {α₁ : Type.{u3}} {α₂ : Type.{u4}} {α₃ : Type.{u5}} (f : Equiv.{succ u3, succ u4} α₁ α₂) (f₂ : Equiv.{succ u4, succ u5} α₂ α₃), Eq.{max (succ (max u3 u1)) (succ (max u5 u1))} (LinearEquiv.{u2, u2, max u3 u1, max u5 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u1} α₃ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u5, u1} α₃ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u1, u2} α₃ M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.trans.{u2, u2, u2, max u3 u1, max u4 u1, max u5 u1} R R R (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u1} α₃ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.addCommMonoid.{u5, u1} α₃ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u1, u2} α₃ M R _inst_1 _inst_3 _inst_4) (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)) (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.right_ids.{u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (RingHomCompTriple.right_ids.{u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.domLCongr.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α₁ α₂ f) (Finsupp.domLCongr.{u1, u2, u4, u5} M R _inst_1 _inst_3 _inst_4 α₂ α₃ f₂)) (Finsupp.domLCongr.{u1, u2, u3, u5} M R _inst_1 _inst_3 _inst_4 α₁ α₃ (Equiv.trans.{succ u3, succ u4, succ u5} α₁ α₂ α₃ f f₂)) but is expected to have type - forall {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] {α₁ : Type.{u5}} {α₂ : Type.{u4}} {α₃ : Type.{u3}} (f : Equiv.{succ u5, succ u4} α₁ α₂) (f₂ : Equiv.{succ u4, succ u3} α₂ α₃), Eq.{max (max (succ u2) (succ u5)) (succ u3)} (LinearEquiv.{u1, u1, max u5 u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u5, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₃ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₃ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₃ M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.trans.{u1, u1, u1, max u5 u2, max u4 u2, max u3 u2} R R R (Finsupp.{u5, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₃ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α₂ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₃ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₃ M R _inst_1 _inst_3 _inst_4) (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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomCompTriple.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.domLCongr.{u2, u1, u5, u4} M R _inst_1 _inst_3 _inst_4 α₁ α₂ f) (Finsupp.domLCongr.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α₂ α₃ f₂)) (Finsupp.domLCongr.{u2, u1, u5, u3} M R _inst_1 _inst_3 _inst_4 α₁ α₃ (Equiv.trans.{succ u5, succ u4, succ u3} α₁ α₂ α₃ f f₂)) + forall {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] {α₁ : Type.{u5}} {α₂ : Type.{u4}} {α₃ : Type.{u3}} (f : Equiv.{succ u5, succ u4} α₁ α₂) (f₂ : Equiv.{succ u4, succ u3} α₂ α₃), Eq.{max (max (succ u2) (succ u5)) (succ u3)} (LinearEquiv.{u1, u1, max u5 u2, max u3 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u5, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₃ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₃ M _inst_3) (Finsupp.module.{u5, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₃ M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.trans.{u1, u1, u1, max u5 u2, max u4 u2, max u3 u2} R R R (Finsupp.{u5, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₃ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α₂ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₃ M _inst_3) (Finsupp.module.{u5, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₃ M R _inst_1 _inst_3 _inst_4) (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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomCompTriple.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.domLCongr.{u2, u1, u5, u4} M R _inst_1 _inst_3 _inst_4 α₁ α₂ f) (Finsupp.domLCongr.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α₂ α₃ f₂)) (Finsupp.domLCongr.{u2, u1, u5, u3} M R _inst_1 _inst_3 _inst_4 α₁ α₃ (Equiv.trans.{succ u5, succ u4, succ u3} α₁ α₂ α₃ f f₂)) Case conversion may be inaccurate. Consider using '#align finsupp.dom_lcongr_trans Finsupp.domLCongr_transₓ'. -/ theorem domLCongr_trans {α₁ α₂ α₃ : Type _} (f : α₁ ≃ α₂) (f₂ : α₂ ≃ α₃) : (Finsupp.domLCongr f).trans (Finsupp.domLCongr f₂) = @@ -1310,7 +1310,7 @@ theorem domLCongr_trans {α₁ α₂ α₃ : Type _} (f : α₁ ≃ α₂) (f₂ 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] {α₁ : Type.{u3}} {α₂ : Type.{u4}} (f : Equiv.{succ u3, succ u4} α₁ α₂), Eq.{max (succ (max u4 u1)) (succ (max u3 u1))} (LinearEquiv.{u2, u2, max u4 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.symm.{u2, u2, max u3 u1, max u4 u1} R R (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.domLCongr.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α₁ α₂ f)) (Finsupp.domLCongr.{u1, u2, u4, u3} M R _inst_1 _inst_3 _inst_4 α₂ α₁ (Equiv.symm.{succ u3, succ u4} α₁ α₂ f)) but is expected to have type - forall {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] {α₁ : Type.{u4}} {α₂ : Type.{u3}} (f : Equiv.{succ u4, succ u3} α₁ α₂), Eq.{max (max (succ u2) (succ u4)) (succ u3)} (LinearEquiv.{u1, u1, max u3 u2, max u4 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.symm.{u1, u1, max u4 u2, max u3 u2} R R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.domLCongr.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α₁ α₂ f)) (Finsupp.domLCongr.{u2, u1, u3, u4} M R _inst_1 _inst_3 _inst_4 α₂ α₁ (Equiv.symm.{succ u4, succ u3} α₁ α₂ f)) + forall {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] {α₁ : Type.{u4}} {α₂ : Type.{u3}} (f : Equiv.{succ u4, succ u3} α₁ α₂), Eq.{max (max (succ u2) (succ u4)) (succ u3)} (LinearEquiv.{u1, u1, max u3 u2, max u4 u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.symm.{u1, u1, max u4 u2, max u3 u2} R R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.domLCongr.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α₁ α₂ f)) (Finsupp.domLCongr.{u2, u1, u3, u4} M R _inst_1 _inst_3 _inst_4 α₂ α₁ (Equiv.symm.{succ u4, succ u3} α₁ α₂ f)) Case conversion may be inaccurate. Consider using '#align finsupp.dom_lcongr_symm Finsupp.domLCongr_symmₓ'. -/ @[simp] theorem domLCongr_symm {α₁ α₂ : Type _} (f : α₁ ≃ α₂) : @@ -1322,7 +1322,7 @@ theorem domLCongr_symm {α₁ α₂ : Type _} (f : α₁ ≃ α₂) : 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] {α₁ : Type.{u3}} {α₂ : Type.{u4}} (e : Equiv.{succ u3, succ u4} α₁ α₂) (i : α₁) (m : M), Eq.{max (succ u4) (succ u1)} (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max u3 u1)) (succ (max u4 u1)), max (succ (max u3 u1)) (succ (max u4 u1))} (LinearEquiv.{u2, u2, max u3 u1, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4)) (fun (_x : LinearEquiv.{u2, u2, max u3 u1, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4)) => (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearEquiv.hasCoeToFun.{u2, u2, max u3 u1, max u4 u1} R R (Finsupp.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u1} α₁ M _inst_3) (Finsupp.addCommMonoid.{u4, u1} α₂ M _inst_3) (Finsupp.module.{u3, u1, u2} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Finsupp.domLCongr.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α₁ α₂ e) (Finsupp.single.{u3, u1} α₁ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) i m)) (Finsupp.single.{u4, u1} α₂ M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (coeFn.{max 1 (max (succ u3) (succ u4)) (succ u4) (succ u3), max (succ u3) (succ u4)} (Equiv.{succ u3, succ u4} α₁ α₂) (fun (_x : Equiv.{succ u3, succ u4} α₁ α₂) => α₁ -> α₂) (Equiv.hasCoeToFun.{succ u3, succ u4} α₁ α₂) e i) m) but is expected to have type - forall {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] {α₁ : Type.{u4}} {α₂ : Type.{u3}} (e : Equiv.{succ u4, succ u3} α₁ α₂) (i : α₁) (m : M), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.single.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) i m)) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulZeroClass.toSMul.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3)) (Module.toDistribMulAction.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3)) (Module.toDistribMulAction.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3)) (Module.toDistribMulAction.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u4 u2, max u3 u2} R R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Finsupp.domLCongr.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α₁ α₂ e) (Finsupp.single.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) i m)) (Finsupp.single.{u3, u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : α₁) => α₂) i) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Equiv.{succ u4, succ u3} α₁ α₂) α₁ (fun (_x : α₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : α₁) => α₂) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} α₁ α₂) e i) m) + forall {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] {α₁ : Type.{u4}} {α₂ : Type.{u3}} (e : Equiv.{succ u4, succ u3} α₁ α₂) (i : α₁) (m : M), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.single.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) i m)) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulZeroClass.toSMul.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3)) (Module.toDistribMulAction.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3)) (Module.toDistribMulAction.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3)) (Module.toDistribMulAction.{u1, max u4 u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u1, max u3 u2} R (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u4 u2, max u3 u2} R R (Finsupp.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α₂ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u2} α₁ M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α₂ M _inst_3) (Finsupp.module.{u4, u2, u1} α₁ M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α₂ M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Finsupp.domLCongr.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α₁ α₂ e) (Finsupp.single.{u4, u2} α₁ M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) i m)) (Finsupp.single.{u3, u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : α₁) => α₂) i) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Equiv.{succ u4, succ u3} α₁ α₂) α₁ (fun (_x : α₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : α₁) => α₂) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} α₁ α₂) e i) m) Case conversion may be inaccurate. Consider using '#align finsupp.dom_lcongr_single Finsupp.domLCongr_singleₓ'. -/ @[simp] theorem domLCongr_single {α₁ : Type _} {α₂ : Type _} (e : α₁ ≃ α₂) (i : α₁) (m : M) : @@ -1334,7 +1334,7 @@ theorem domLCongr_single {α₁ : Type _} {α₂ : Type _} (e : α₁ ≃ α₂) 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] {α' : Type.{u4}} (s : Set.{u1} α) (t : Set.{u4} α'), (Equiv.{succ u1, succ u4} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) (coeSort.{succ u4, succ (succ u4)} (Set.{u4} α') Type.{u4} (Set.hasCoeToSort.{u4} α') t)) -> (LinearEquiv.{u3, u3, max u1 u2, max u4 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Submodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (coeSort.{succ (max u4 u2), succ (succ (max u4 u2))} (Submodule.{u3, max u4 u2} R (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) Type.{max u4 u2} (SetLike.hasCoeToSort.{max u4 u2, max u4 u2} (Submodule.{u3, max u4 u2} R (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Submodule.setLike.{u3, max u4 u2} R (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4))) (Finsupp.supported.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 t)) (Submodule.addCommMonoid.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.addCommMonoid.{u3, max u4 u2} R (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 t)) (Submodule.module.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.module.{u3, max u4 u2} R (Finsupp.{u4, u2} α' M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 t))) but is expected to have type - 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] {α' : Type.{u4}} (s : Set.{u1} α) (t : Set.{u4} α'), (Equiv.{succ u1, succ u4} (Set.Elem.{u1} α s) (Set.Elem.{u4} α' t)) -> (LinearEquiv.{u3, u3, max u1 u2, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Subtype.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (Subtype.{succ (max u2 u4)} (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u2 u4, max u2 u4} (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u3, max u2 u4} R (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u2 u4, max u2 u4} (Submodule.{u3, max u2 u4} R (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u3, max u2 u4} R (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 t))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u2 u4} R (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 t)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u2 u4} R (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 t))) + 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] {α' : Type.{u4}} (s : Set.{u1} α) (t : Set.{u4} α'), (Equiv.{succ u1, succ u4} (Set.Elem.{u1} α s) (Set.Elem.{u4} α' t)) -> (LinearEquiv.{u3, u3, max u1 u2, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Subtype.{succ (max u1 u2)} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u3, max u2 u1} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s))) (Subtype.{succ (max u2 u4)} (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (x : Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Membership.mem.{max u2 u4, max u2 u4} (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.{u3, max u2 u4} R (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) (SetLike.instMembership.{max u2 u4, max u2 u4} (Submodule.{u3, max u2 u4} R (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.instSetLikeSubmodule.{u3, max u2 u4} R (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4))) x (Finsupp.supported.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 t))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u2 u4} R (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 t)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4 s)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, max u2 u4} R (Finsupp.{u4, u2} α' M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α' M _inst_3) (Finsupp.module.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4) (Finsupp.supported.{u4, u2, u3} α' M R _inst_1 _inst_3 _inst_4 t))) Case conversion may be inaccurate. Consider using '#align finsupp.congr Finsupp.congrₓ'. -/ /-- An equivalence of sets induces a linear equivalence of `finsupp`s supported on those sets. -/ noncomputable def congr {α' : Type _} (s : Set α) (t : Set α') (e : s ≃ t) : @@ -1350,7 +1350,7 @@ noncomputable def congr {α' : Type _} (s : Set α) (t : Set α') (e : s ≃ t) lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5], (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) -> (LinearMap.{u4, u4, max u1 u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5], (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) -> (LinearMap.{u4, u4, max u2 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6)) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5], (LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6) -> (LinearMap.{u4, u4, max u2 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.linear_map Finsupp.mapRange.linearMapₓ'. -/ /-- `finsupp.map_range` as a `linear_map`. -/ @[simps] @@ -1366,7 +1366,7 @@ def mapRange.linearMap (f : M →ₗ[R] N) : (α →₀ M) →ₗ[R] α →₀ N 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.{succ (max u1 u2)} (LinearMap.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.mapRange.linearMap.{u1, u2, u2, u3} α M M R _inst_1 _inst_3 _inst_4 _inst_3 _inst_4 (LinearMap.id.{u3, u2} R M _inst_1 _inst_3 _inst_4)) (LinearMap.id.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) 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 (succ u3) (succ u2)} (LinearMap.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.mapRange.linearMap.{u3, u2, u2, u1} α M M R _inst_1 _inst_3 _inst_4 _inst_3 _inst_4 (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (LinearMap.id.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) + 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 (succ u3) (succ u2)} (LinearMap.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.mapRange.linearMap.{u3, u2, u2, u1} α M M R _inst_1 _inst_3 _inst_4 _inst_3 _inst_4 (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (LinearMap.id.{u1, max u3 u2} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.linear_map_id Finsupp.mapRange.linearMap_idₓ'. -/ @[simp] theorem mapRange.linearMap_id : @@ -1378,7 +1378,7 @@ theorem mapRange.linearMap_id : lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {P : Type.{u4}} {R : Type.{u5}} [_inst_1 : Semiring.{u5} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u5, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u5, u3} R N _inst_1 _inst_5] [_inst_7 : AddCommMonoid.{u4} P] [_inst_8 : Module.{u5, u4} R P _inst_1 _inst_7] (f : LinearMap.{u5, u5, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) N P _inst_5 _inst_7 _inst_6 _inst_8) (f₂ : LinearMap.{u5, u5, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (succ (max u1 u2)) (succ (max u1 u4))} (LinearMap.{u5, u5, max u1 u2, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u4} α P (AddZeroClass.toHasZero.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_7)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u4} α P _inst_7) (Finsupp.module.{u1, u2, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u4, u5} α P R _inst_1 _inst_7 _inst_8)) (Finsupp.mapRange.linearMap.{u1, u2, u4, u5} α M P R _inst_1 _inst_3 _inst_4 _inst_7 _inst_8 (LinearMap.comp.{u5, u5, u5, u2, u3, u4} R R R M N P _inst_1 _inst_1 _inst_1 _inst_3 _inst_5 _inst_7 _inst_4 _inst_6 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.right_ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) f f₂)) (LinearMap.comp.{u5, u5, u5, max u1 u2, max u1 u3, max u1 u4} R R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.{u1, u4} α P (AddZeroClass.toHasZero.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_7)))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.addCommMonoid.{u1, u4} α P _inst_7) (Finsupp.module.{u1, u2, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u5} α N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u1, u4, u5} α P R _inst_1 _inst_7 _inst_8) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.right_ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Finsupp.mapRange.linearMap.{u1, u3, u4, u5} α N P R _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 f) (Finsupp.mapRange.linearMap.{u1, u2, u3, u5} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f₂)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u4}} {P : Type.{u3}} {R : Type.{u5}} [_inst_1 : Semiring.{u5} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u5, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u4} N] [_inst_6 : Module.{u5, u4} R N _inst_1 _inst_5] [_inst_7 : AddCommMonoid.{u3} P] [_inst_8 : Module.{u5, u3} R P _inst_1 _inst_7] (f : LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) N P _inst_5 _inst_7 _inst_6 _inst_8) (f₂ : LinearMap.{u5, u5, u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (LinearMap.{u5, u5, max u2 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u3} α P (AddMonoid.toZero.{u3} P (AddCommMonoid.toAddMonoid.{u3} P _inst_7))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α P _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u5} α P R _inst_1 _inst_7 _inst_8)) (Finsupp.mapRange.linearMap.{u1, u2, u3, u5} α M P R _inst_1 _inst_3 _inst_4 _inst_7 _inst_8 (LinearMap.comp.{u5, u5, u5, u2, u4, u3} R R R M N P _inst_1 _inst_1 _inst_1 _inst_3 _inst_5 _inst_7 _inst_4 _inst_6 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) f f₂)) (LinearMap.comp.{u5, u5, u5, max u2 u1, max u4 u1, max u3 u1} R R R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u4} α N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5))) (Finsupp.{u1, u3} α P (AddMonoid.toZero.{u3} P (AddCommMonoid.toAddMonoid.{u3} P _inst_7))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u4} α N _inst_5) (Finsupp.addCommMonoid.{u1, u3} α P _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u5} α N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u5} α P R _inst_1 _inst_7 _inst_8) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Finsupp.mapRange.linearMap.{u1, u4, u3, u5} α N P R _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 f) (Finsupp.mapRange.linearMap.{u1, u2, u4, u5} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f₂)) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u4}} {P : Type.{u3}} {R : Type.{u5}} [_inst_1 : Semiring.{u5} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u5, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u4} N] [_inst_6 : Module.{u5, u4} R N _inst_1 _inst_5] [_inst_7 : AddCommMonoid.{u3} P] [_inst_8 : Module.{u5, u3} R P _inst_1 _inst_7] (f : LinearMap.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) N P _inst_5 _inst_7 _inst_6 _inst_8) (f₂ : LinearMap.{u5, u5, u2, u4} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (LinearMap.{u5, u5, max u2 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u3} α P (AddMonoid.toZero.{u3} P (AddCommMonoid.toAddMonoid.{u3} P _inst_7))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α P _inst_7) (Finsupp.module.{u1, u2, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u5} α P R _inst_1 _inst_7 _inst_8)) (Finsupp.mapRange.linearMap.{u1, u2, u3, u5} α M P R _inst_1 _inst_3 _inst_4 _inst_7 _inst_8 (LinearMap.comp.{u5, u5, u5, u2, u4, u3} R R R M N P _inst_1 _inst_1 _inst_1 _inst_3 _inst_5 _inst_7 _inst_4 _inst_6 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) f f₂)) (LinearMap.comp.{u5, u5, u5, max u2 u1, max u4 u1, max u3 u1} R R R (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u4} α N (AddMonoid.toZero.{u4} N (AddCommMonoid.toAddMonoid.{u4} N _inst_5))) (Finsupp.{u1, u3} α P (AddMonoid.toZero.{u3} P (AddCommMonoid.toAddMonoid.{u3} P _inst_7))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u4} α N _inst_5) (Finsupp.addCommMonoid.{u1, u3} α P _inst_7) (Finsupp.module.{u1, u2, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u4, u5} α N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u1, u3, u5} α P R _inst_1 _inst_7 _inst_8) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (Finsupp.mapRange.linearMap.{u1, u4, u3, u5} α N P R _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 f) (Finsupp.mapRange.linearMap.{u1, u2, u4, u5} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f₂)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.linear_map_comp Finsupp.mapRange.linearMap_compₓ'. -/ theorem mapRange.linearMap_comp (f : N →ₗ[R] P) (f₂ : M →ₗ[R] N) : (mapRange.linearMap (f.comp f₂) : (α →₀ _) →ₗ[R] _) = @@ -1390,7 +1390,7 @@ theorem mapRange.linearMap_comp (f : N →ₗ[R] P) (f₂ : M →ₗ[R] N) : lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] (f : LinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (succ (max u1 u3)) (succ (max u1 u2))} (AddMonoidHom.{max u1 u2, max u1 u3} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (AddMonoid.toAddZeroClass.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5)))) (LinearMap.toAddMonoidHom.{u4, u4, max u1 u2, max u1 u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.mapRange.linearMap.{u1, u2, u3, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.addMonoidHom.{u1, u2, u3} α M N _inst_3 _inst_5 (LinearMap.toAddMonoidHom.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) f)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u4, u2} R N _inst_1 _inst_5] (f : LinearMap.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AddMonoidHom.{max u3 u1, max u2 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5)))) (LinearMap.toAddMonoidHom.{u4, u4, max u3 u1, max u2 u1} R R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.mapRange.linearMap.{u1, u3, u2, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.addMonoidHom.{u1, u3, u2} α M N _inst_3 _inst_5 (LinearMap.toAddMonoidHom.{u4, u4, u3, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) f)) + forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u4, u2} R N _inst_1 _inst_5] (f : LinearMap.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AddMonoidHom.{max u3 u1, max u2 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5)))) (LinearMap.toAddMonoidHom.{u4, u4, max u3 u1, max u2 u1} R R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.module.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.mapRange.linearMap.{u1, u3, u2, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.addMonoidHom.{u1, u3, u2} α M N _inst_3 _inst_5 (LinearMap.toAddMonoidHom.{u4, u4, u3, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) f)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.linear_map_to_add_monoid_hom Finsupp.mapRange.linearMap_toAddMonoidHomₓ'. -/ @[simp] theorem mapRange.linearMap_toAddMonoidHom (f : M →ₗ[R] N) : @@ -1403,7 +1403,7 @@ theorem mapRange.linearMap_toAddMonoidHom (f : M →ₗ[R] N) : lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5], (LinearEquiv.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) -> (LinearEquiv.{u4, u4, max u1 u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5], (LinearEquiv.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) -> (LinearEquiv.{u4, u4, max u2 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6)) + forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5], (LinearEquiv.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) -> (LinearEquiv.{u4, u4, max u2 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.linear_equiv Finsupp.mapRange.linearEquivₓ'. -/ /-- `finsupp.map_range` as a `linear_equiv`. -/ @[simps apply] @@ -1418,7 +1418,7 @@ def mapRange.linearEquiv (e : M ≃ₗ[R] N) : (α →₀ M) ≃ₗ[R] α →₀ 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.{succ (max u1 u2)} (LinearEquiv.{u3, u3, max u1 u2, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.mapRange.linearEquiv.{u1, u2, u2, u3} α M M R _inst_1 _inst_3 _inst_4 _inst_3 _inst_4 (LinearEquiv.refl.{u3, u2} R M _inst_1 _inst_3 _inst_4)) (LinearEquiv.refl.{u3, max u1 u2} R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u2, u3} α M R _inst_1 _inst_3 _inst_4)) 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 (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.mapRange.linearEquiv.{u3, u2, u2, u1} α M M R _inst_1 _inst_3 _inst_4 _inst_3 _inst_4 (LinearEquiv.refl.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (LinearEquiv.refl.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) + 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 (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) (Finsupp.mapRange.linearEquiv.{u3, u2, u2, u1} α M M R _inst_1 _inst_3 _inst_4 _inst_3 _inst_4 (LinearEquiv.refl.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (LinearEquiv.refl.{u1, max u2 u3} R (Finsupp.{u3, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} α M _inst_3) (Finsupp.module.{u3, u2, u1} α M R _inst_1 _inst_3 _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.linear_equiv_refl Finsupp.mapRange.linearEquiv_reflₓ'. -/ @[simp] theorem mapRange.linearEquiv_refl : @@ -1430,7 +1430,7 @@ theorem mapRange.linearEquiv_refl : lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {P : Type.{u4}} {R : Type.{u5}} [_inst_1 : Semiring.{u5} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u5, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u5, u3} R N _inst_1 _inst_5] [_inst_7 : AddCommMonoid.{u4} P] [_inst_8 : Module.{u5, u4} R P _inst_1 _inst_7] (f : LinearEquiv.{u5, u5, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (f₂ : LinearEquiv.{u5, u5, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) N P _inst_5 _inst_7 _inst_6 _inst_8), Eq.{max (succ (max u1 u2)) (succ (max u1 u4))} (LinearEquiv.{u5, u5, max u1 u2, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u4} α P (AddZeroClass.toHasZero.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_7)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u4} α P _inst_7) (Finsupp.module.{u1, u2, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u4, u5} α P R _inst_1 _inst_7 _inst_8)) (Finsupp.mapRange.linearEquiv.{u1, u2, u4, u5} α M P R _inst_1 _inst_3 _inst_4 _inst_7 _inst_8 (LinearEquiv.trans.{u5, u5, u5, u2, u3, u4} R R R M N P _inst_1 _inst_1 _inst_1 _inst_3 _inst_5 _inst_7 _inst_4 _inst_6 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.right_ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomCompTriple.right_ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) f f₂)) (LinearEquiv.trans.{u5, u5, u5, max u1 u2, max u1 u3, max u1 u4} R R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.{u1, u4} α P (AddZeroClass.toHasZero.{u4} P (AddMonoid.toAddZeroClass.{u4} P (AddCommMonoid.toAddMonoid.{u4} P _inst_7)))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.addCommMonoid.{u1, u4} α P _inst_7) (Finsupp.module.{u1, u2, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u5} α N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u1, u4, u5} α P R _inst_1 _inst_7 _inst_8) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.right_ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomCompTriple.right_ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Finsupp.mapRange.linearEquiv.{u1, u2, u3, u5} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f) (Finsupp.mapRange.linearEquiv.{u1, u3, u4, u5} α N P R _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 f₂)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u4}} {N : Type.{u3}} {P : Type.{u2}} {R : Type.{u5}} [_inst_1 : Semiring.{u5} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u5, u4} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u5, u3} R N _inst_1 _inst_5] [_inst_7 : AddCommMonoid.{u2} P] [_inst_8 : Module.{u5, u2} R P _inst_1 _inst_7] (f : LinearEquiv.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (f₂ : LinearEquiv.{u5, u5, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) N P _inst_5 _inst_7 _inst_6 _inst_8), Eq.{max (max (succ u1) (succ u4)) (succ u2)} (LinearEquiv.{u5, u5, max u4 u1, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.{u1, u2} α P (AddMonoid.toZero.{u2} P (AddCommMonoid.toAddMonoid.{u2} P _inst_7))) (Finsupp.addCommMonoid.{u1, u4} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α P _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u5} α P R _inst_1 _inst_7 _inst_8)) (Finsupp.mapRange.linearEquiv.{u1, u4, u2, u5} α M P R _inst_1 _inst_3 _inst_4 _inst_7 _inst_8 (LinearEquiv.trans.{u5, u5, u5, u4, u3, u2} R R R M N P _inst_1 _inst_1 _inst_1 _inst_3 _inst_5 _inst_7 _inst_4 _inst_6 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) f f₂)) (LinearEquiv.trans.{u5, u5, u5, max u4 u1, max u3 u1, max u2 u1} R R R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Finsupp.{u1, u2} α P (AddMonoid.toZero.{u2} P (AddCommMonoid.toAddMonoid.{u2} P _inst_7))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u4} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.addCommMonoid.{u1, u2} α P _inst_7) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u5} α N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u5} α P R _inst_1 _inst_7 _inst_8) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Finsupp.mapRange.linearEquiv.{u1, u4, u3, u5} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f) (Finsupp.mapRange.linearEquiv.{u1, u3, u2, u5} α N P R _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 f₂)) + forall {α : Type.{u1}} {M : Type.{u4}} {N : Type.{u3}} {P : Type.{u2}} {R : Type.{u5}} [_inst_1 : Semiring.{u5} R] [_inst_3 : AddCommMonoid.{u4} M] [_inst_4 : Module.{u5, u4} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u5, u3} R N _inst_1 _inst_5] [_inst_7 : AddCommMonoid.{u2} P] [_inst_8 : Module.{u5, u2} R P _inst_1 _inst_7] (f : LinearEquiv.{u5, u5, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (f₂ : LinearEquiv.{u5, u5, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) N P _inst_5 _inst_7 _inst_6 _inst_8), Eq.{max (max (succ u1) (succ u4)) (succ u2)} (LinearEquiv.{u5, u5, max u4 u1, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.{u1, u2} α P (AddMonoid.toZero.{u2} P (AddCommMonoid.toAddMonoid.{u2} P _inst_7))) (Finsupp.addCommMonoid.{u1, u4} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α P _inst_7) (Finsupp.module.{u1, u4, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u5} α P R _inst_1 _inst_7 _inst_8)) (Finsupp.mapRange.linearEquiv.{u1, u4, u2, u5} α M P R _inst_1 _inst_3 _inst_4 _inst_7 _inst_8 (LinearEquiv.trans.{u5, u5, u5, u4, u3, u2} R R R M N P _inst_1 _inst_1 _inst_1 _inst_3 _inst_5 _inst_7 _inst_4 _inst_6 _inst_8 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) f f₂)) (LinearEquiv.trans.{u5, u5, u5, max u4 u1, max u3 u1, max u2 u1} R R R (Finsupp.{u1, u4} α M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (Finsupp.{u1, u3} α N (AddMonoid.toZero.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5))) (Finsupp.{u1, u2} α P (AddMonoid.toZero.{u2} P (AddCommMonoid.toAddMonoid.{u2} P _inst_7))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u4} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.addCommMonoid.{u1, u2} α P _inst_7) (Finsupp.module.{u1, u4, u5} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u5} α N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u1, u2, u5} α P R _inst_1 _inst_7 _inst_8) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Finsupp.mapRange.linearEquiv.{u1, u4, u3, u5} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f) (Finsupp.mapRange.linearEquiv.{u1, u3, u2, u5} α N P R _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 f₂)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.linear_equiv_trans Finsupp.mapRange.linearEquiv_transₓ'. -/ theorem mapRange.linearEquiv_trans (f : M ≃ₗ[R] N) (f₂ : N ≃ₗ[R] P) : (mapRange.linearEquiv (f.trans f₂) : (α →₀ _) ≃ₗ[R] _) = @@ -1442,7 +1442,7 @@ theorem mapRange.linearEquiv_trans (f : M ≃ₗ[R] N) (f₂ : N ≃ₗ[R] P) : lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] (f : LinearEquiv.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (succ (max u1 u3)) (succ (max u1 u2))} (LinearEquiv.{u4, u4, max u1 u3, max u1 u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.module.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.symm.{u4, u4, max u1 u2, max u1 u3} R R (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.mapRange.linearEquiv.{u1, u2, u3, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.linearEquiv.{u1, u3, u2, u4} α N M R _inst_1 _inst_5 _inst_6 _inst_3 _inst_4 (LinearEquiv.symm.{u4, u4, u2, u3} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) f)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u4, u2} R N _inst_1 _inst_5] (f : LinearEquiv.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (LinearEquiv.{u4, u4, max u2 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.symm.{u4, u4, max u3 u1, max u2 u1} R R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.mapRange.linearEquiv.{u1, u3, u2, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.linearEquiv.{u1, u2, u3, u4} α N M R _inst_1 _inst_5 _inst_6 _inst_3 _inst_4 (LinearEquiv.symm.{u4, u4, u3, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) f)) + forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u4, u2} R N _inst_1 _inst_5] (f : LinearEquiv.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (LinearEquiv.{u4, u4, max u2 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.module.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.symm.{u4, u4, max u3 u1, max u2 u1} R R (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.module.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.mapRange.linearEquiv.{u1, u3, u2, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.linearEquiv.{u1, u2, u3, u4} α N M R _inst_1 _inst_5 _inst_6 _inst_3 _inst_4 (LinearEquiv.symm.{u4, u4, u3, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) f)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.linear_equiv_symm Finsupp.mapRange.linearEquiv_symmₓ'. -/ @[simp] theorem mapRange.linearEquiv_symm (f : M ≃ₗ[R] N) : @@ -1454,7 +1454,7 @@ theorem mapRange.linearEquiv_symm (f : M ≃ₗ[R] N) : lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] (f : LinearEquiv.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (succ (max u1 u2)) (succ (max u1 u3))} (AddEquiv.{max u1 u2, max u1 u3} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (AddZeroClass.toHasAdd.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toAddZeroClass.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3)))) (AddZeroClass.toHasAdd.{max u1 u3} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (AddMonoid.toAddZeroClass.{max u1 u3} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5))))) (LinearEquiv.toAddEquiv.{u4, u4, max u1 u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6) (Finsupp.mapRange.linearEquiv.{u1, u2, u3, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.addEquiv.{u1, u2, u3} α M N _inst_3 _inst_5 (LinearEquiv.toAddEquiv.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6 f)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u4, u2} R N _inst_1 _inst_5] (f : LinearEquiv.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AddEquiv.{max u3 u1, max u2 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddZeroClass.toAdd.{max u3 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3)))) (AddZeroClass.toAdd.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5))))) (LinearEquiv.toAddEquiv.{u4, u4, max u3 u1, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6) (Finsupp.mapRange.linearEquiv.{u1, u3, u2, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.addEquiv.{u1, u3, u2} α M N _inst_3 _inst_5 (LinearEquiv.toAddEquiv.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6 f)) + forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u4, u2} R N _inst_1 _inst_5] (f : LinearEquiv.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AddEquiv.{max u3 u1, max u2 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddZeroClass.toAdd.{max u3 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3)))) (AddZeroClass.toAdd.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5))))) (LinearEquiv.toAddEquiv.{u4, u4, max u3 u1, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.module.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6) (Finsupp.mapRange.linearEquiv.{u1, u3, u2, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.addEquiv.{u1, u3, u2} α M N _inst_3 _inst_5 (LinearEquiv.toAddEquiv.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6 f)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.linear_equiv_to_add_equiv Finsupp.mapRange.linearEquiv_toAddEquivₓ'. -/ @[simp] theorem mapRange.linearEquiv_toAddEquiv (f : M ≃ₗ[R] N) : @@ -1466,7 +1466,7 @@ theorem mapRange.linearEquiv_toAddEquiv (f : M ≃ₗ[R] N) : lean 3 declaration is forall {α : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u3} N] [_inst_6 : Module.{u4, u3} R N _inst_1 _inst_5] (f : LinearEquiv.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (succ (max u1 u2)) (succ (max u1 u3))} (LinearMap.{u4, u4, max u1 u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6)) (LinearEquiv.toLinearMap.{u4, u4, max u1 u2, max u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{u1, u3} α N (AddZeroClass.toHasZero.{u3} N (AddMonoid.toAddZeroClass.{u3} N (AddCommMonoid.toAddMonoid.{u3} N _inst_5)))) (Finsupp.addCommMonoid.{u1, u2} α M _inst_3) (Finsupp.addCommMonoid.{u1, u3} α N _inst_5) (Finsupp.module.{u1, u2, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u3, u4} α N R _inst_1 _inst_5 _inst_6) (Finsupp.mapRange.linearEquiv.{u1, u2, u3, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.linearMap.{u1, u2, u3, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 (LinearEquiv.toLinearMap.{u4, u4, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6 f)) but is expected to have type - forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u4, u2} R N _inst_1 _inst_5] (f : LinearEquiv.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (LinearMap.{u4, u4, max u3 u1, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6)) (LinearEquiv.toLinearMap.{u4, u4, max u3 u1, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6) (Finsupp.mapRange.linearEquiv.{u1, u3, u2, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.linearMap.{u1, u3, u2, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6 f)) + forall {α : Type.{u1}} {M : Type.{u3}} {N : Type.{u2}} {R : Type.{u4}} [_inst_1 : Semiring.{u4} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u4, u3} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u4, u2} R N _inst_1 _inst_5] (f : LinearEquiv.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (LinearMap.{u4, u4, max u3 u1, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.module.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6)) (LinearEquiv.toLinearMap.{u4, u4, max u3 u1, max u2 u1} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) (Finsupp.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Finsupp.{u1, u2} α N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u1, u3} α M _inst_3) (Finsupp.addCommMonoid.{u1, u2} α N _inst_5) (Finsupp.module.{u1, u3, u4} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u1, u2, u4} α N R _inst_1 _inst_5 _inst_6) (Finsupp.mapRange.linearEquiv.{u1, u3, u2, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 f)) (Finsupp.mapRange.linearMap.{u1, u3, u2, u4} α M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomInvPair.ids.{u4} R _inst_1) (RingHomInvPair.ids.{u4} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6 f)) Case conversion may be inaccurate. Consider using '#align finsupp.map_range.linear_equiv_to_linear_map Finsupp.mapRange.linearEquiv_toLinearMapₓ'. -/ @[simp] theorem mapRange.linearEquiv_toLinearMap (f : M ≃ₗ[R] N) : @@ -1478,7 +1478,7 @@ theorem mapRange.linearEquiv_toLinearMap (f : M ≃ₗ[R] N) : lean 3 declaration is forall {M : Type.{u1}} {N : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u3, u2} R N _inst_1 _inst_5] {ι : Type.{u4}} {κ : Type.{u5}}, (Equiv.{succ u4, succ u5} ι κ) -> (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) -> (LinearEquiv.{u3, u3, max u4 u1, max u5 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6)) but is expected to have type - forall {M : Type.{u1}} {N : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u3, u2} R N _inst_1 _inst_5] {ι : Type.{u4}} {κ : Type.{u5}}, (Equiv.{succ u4, succ u5} ι κ) -> (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) -> (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} ι M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.{u5, u2} κ N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6)) + forall {M : Type.{u1}} {N : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u3, u2} R N _inst_1 _inst_5] {ι : Type.{u4}} {κ : Type.{u5}}, (Equiv.{succ u4, succ u5} ι κ) -> (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) -> (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} ι M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.{u5, u2} κ N (AddMonoid.toZero.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6)) Case conversion may be inaccurate. Consider using '#align finsupp.lcongr Finsupp.lcongrₓ'. -/ /-- An equivalence of domain and a linear equivalence of codomain induce a linear equivalence of the corresponding finitely supported functions. -/ @@ -1490,7 +1490,7 @@ def lcongr {ι κ : Sort _} (e₁ : ι ≃ κ) (e₂ : M ≃ₗ[R] N) : (ι → lean 3 declaration is forall {M : Type.{u1}} {N : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u3, u2} R N _inst_1 _inst_5] {ι : Type.{u4}} {κ : Type.{u5}} (e₁ : Equiv.{succ u4, succ u5} ι κ) (e₂ : LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (i : ι) (m : M), Eq.{max (succ u5) (succ u2)} (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (coeFn.{max (succ (max u4 u1)) (succ (max u5 u2)), max (succ (max u4 u1)) (succ (max u5 u2))} (LinearEquiv.{u3, u3, max u4 u1, max u5 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6)) (fun (_x : LinearEquiv.{u3, u3, max u4 u1, max u5 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6)) => (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))))) (LinearEquiv.hasCoeToFun.{u3, u3, max u4 u1, max u5 u2} R R (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Finsupp.lcongr.{u1, u2, u3, u4, u5} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂) (Finsupp.single.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) i m)) (Finsupp.single.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) (coeFn.{max 1 (max (succ u4) (succ u5)) (succ u5) (succ u4), max (succ u4) (succ u5)} (Equiv.{succ u4, succ u5} ι κ) (fun (_x : Equiv.{succ u4, succ u5} ι κ) => ι -> κ) (Equiv.hasCoeToFun.{succ u4, succ u5} ι κ) e₁ i) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (_x : LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) => M -> N) (LinearEquiv.hasCoeToFun.{u3, u3, u1, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) e₂ m)) but is expected to have type - forall {M : Type.{u2}} {N : Type.{u1}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u3, u1} R N _inst_1 _inst_5] {ι : Type.{u5}} {κ : Type.{u4}} (e₁ : Equiv.{succ u5, succ u4} ι κ) (e₂ : LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (i : ι) (m : M), Eq.{max (succ u1) (succ u4)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.single.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) i m)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5), max (succ u2) (succ u5), max (succ u1) (succ u4)} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _x) (SMulHomClass.toFunLike.{max (max (max u2 u1) u4) u5, u3, max u2 u5, max u1 u4} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (SMulZeroClass.toSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribSMul.toSMulZeroClass.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribMulAction.toDistribSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toZero.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribSMul.toSMulZeroClass.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toAddZeroClass.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribMulAction.toDistribSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u2 u1) u4) u5, u3, max u2 u5, max u1 u4} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u5, max u1 u4, max (max (max u2 u1) u4) u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u5, max u1 u4, max (max (max u2 u1) u4) u5} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Finsupp.lcongr.{u2, u1, u3, u5, u4} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂) (Finsupp.single.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) i m)) (Finsupp.single.{u4, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : ι) => κ) i) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => N) m) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => N) m) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => N) m) _inst_5)) (FunLike.coe.{max (succ u4) (succ u5), succ u5, succ u4} (Equiv.{succ u5, succ u4} ι κ) ι (fun (_x : ι) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : ι) => κ) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} ι κ) e₁ i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => N) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) R M N (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) R M N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} R M N (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} R R M N (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) e₂ m)) + forall {M : Type.{u2}} {N : Type.{u1}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u3, u1} R N _inst_1 _inst_5] {ι : Type.{u5}} {κ : Type.{u4}} (e₁ : Equiv.{succ u5, succ u4} ι κ) (e₂ : LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (i : ι) (m : M), Eq.{max (succ u1) (succ u4)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.single.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) i m)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5), max (succ u2) (succ u5), max (succ u1) (succ u4)} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _x) (SMulHomClass.toFunLike.{max (max (max u2 u1) u4) u5, u3, max u2 u5, max u1 u4} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (SMulZeroClass.toSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribSMul.toSMulZeroClass.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribMulAction.toDistribSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toZero.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribSMul.toSMulZeroClass.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toAddZeroClass.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribMulAction.toDistribSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u2 u1) u4) u5, u3, max u2 u5, max u1 u4} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u5, max u1 u4, max (max (max u2 u1) u4) u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u5, max u1 u4, max (max (max u2 u1) u4) u5} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Finsupp.lcongr.{u2, u1, u3, u5, u4} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂) (Finsupp.single.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) i m)) (Finsupp.single.{u4, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : ι) => κ) i) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => N) m) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => N) m) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => N) m) _inst_5)) (FunLike.coe.{max (succ u4) (succ u5), succ u5, succ u4} (Equiv.{succ u5, succ u4} ι κ) ι (fun (_x : ι) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : ι) => κ) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} ι κ) e₁ i) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => N) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) R M N (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) R M N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} R M N (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} R R M N (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) e₂ m)) Case conversion may be inaccurate. Consider using '#align finsupp.lcongr_single Finsupp.lcongr_singleₓ'. -/ @[simp] theorem lcongr_single {ι κ : Sort _} (e₁ : ι ≃ κ) (e₂ : M ≃ₗ[R] N) (i : ι) (m : M) : @@ -1499,9 +1499,9 @@ theorem lcongr_single {ι κ : Sort _} (e₁ : ι ≃ κ) (e₂ : M ≃ₗ[R] N) /- warning: finsupp.lcongr_apply_apply -> Finsupp.lcongr_apply_apply is a dubious translation: lean 3 declaration is - forall {M : Type.{u1}} {N : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u3, u2} R N _inst_1 _inst_5] {ι : Type.{u4}} {κ : Type.{u5}} (e₁ : Equiv.{succ u4, succ u5} ι κ) (e₂ : LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (f : Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (k : κ), Eq.{succ u2} N (coeFn.{max (succ u5) (succ u2), max (succ u5) (succ u2)} (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (fun (_x : Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) => κ -> N) (Finsupp.hasCoeToFun.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (coeFn.{max (succ (max u4 u1)) (succ (max u5 u2)), max (succ (max u4 u1)) (succ (max u5 u2))} (LinearEquiv.{u3, u3, max u4 u1, max u5 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6)) (fun (_x : LinearEquiv.{u3, u3, max u4 u1, max u5 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6)) => (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))))) (LinearEquiv.hasCoeToFun.{u3, u3, max u4 u1, max u5 u2} R R (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Finsupp.lcongr.{u1, u2, u3, u4, u5} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂) f) k) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (_x : LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) => M -> N) (LinearEquiv.hasCoeToFun.{u3, u3, u1, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) e₂ (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => ι -> M) (Finsupp.hasCoeToFun.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) f (coeFn.{max 1 (max (succ u5) (succ u4)) (succ u4) (succ u5), max (succ u5) (succ u4)} (Equiv.{succ u5, succ u4} κ ι) (fun (_x : Equiv.{succ u5, succ u4} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u5, succ u4} κ ι) (Equiv.symm.{succ u4, succ u5} ι κ e₁) k))) + forall {M : Type.{u1}} {N : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u3, u2} R N _inst_1 _inst_5] {ι : Type.{u4}} {κ : Type.{u5}} (e₁ : Equiv.{succ u4, succ u5} ι κ) (e₂ : LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (f : Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (k : κ), Eq.{succ u2} N (coeFn.{max (succ u5) (succ u2), max (succ u5) (succ u2)} (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (fun (_x : Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) => κ -> N) (Finsupp.coeFun.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (coeFn.{max (succ (max u4 u1)) (succ (max u5 u2)), max (succ (max u4 u1)) (succ (max u5 u2))} (LinearEquiv.{u3, u3, max u4 u1, max u5 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6)) (fun (_x : LinearEquiv.{u3, u3, max u4 u1, max u5 u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6)) => (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))))) (LinearEquiv.hasCoeToFun.{u3, u3, max u4 u1, max u5 u2} R R (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Finsupp.lcongr.{u1, u2, u3, u4, u5} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂) f) k) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (fun (_x : LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) => M -> N) (LinearEquiv.hasCoeToFun.{u3, u3, u1, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) e₂ (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => ι -> M) (Finsupp.coeFun.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) f (coeFn.{max 1 (max (succ u5) (succ u4)) (succ u4) (succ u5), max (succ u5) (succ u4)} (Equiv.{succ u5, succ u4} κ ι) (fun (_x : Equiv.{succ u5, succ u4} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u5, succ u4} κ ι) (Equiv.symm.{succ u4, succ u5} ι κ e₁) k))) but is expected to have type - forall {M : Type.{u2}} {N : Type.{u1}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u3, u1} R N _inst_1 _inst_5] {ι : Type.{u5}} {κ : Type.{u4}} (e₁ : Equiv.{succ u5, succ u4} ι κ) (e₂ : LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (f : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (k : κ), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => N) k) (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) κ (fun (_x : κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => N) _x) (Finsupp.funLike.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u5)) (succ u4), max (succ u2) (succ u5), max (succ u1) (succ u4)} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _x) (SMulHomClass.toFunLike.{max (max (max u2 u1) u5) u4, u3, max u2 u5, max u1 u4} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (SMulZeroClass.toSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribSMul.toSMulZeroClass.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribMulAction.toDistribSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toZero.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribSMul.toSMulZeroClass.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toAddZeroClass.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribMulAction.toDistribSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u2 u1) u5) u4, u3, max u2 u5, max u1 u4} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u5, max u1 u4, max (max (max u2 u1) u5) u4} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u5, max u1 u4, max (max (max u2 u1) u5) u4} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Finsupp.lcongr.{u2, u1, u3, u5, u4} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂) f) k) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => N) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) R M N (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) R M N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} R M N (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} R R M N (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) e₂ (FunLike.coe.{max (succ u5) (succ u2), succ u5, succ u2} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => M) _x) (Finsupp.funLike.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) f (FunLike.coe.{max (succ u5) (succ u4), succ u4, succ u5} (Equiv.{succ u4, succ u5} κ ι) κ (fun (_x : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : κ) => ι) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u5} κ ι) (Equiv.symm.{succ u5, succ u4} ι κ e₁) k))) + forall {M : Type.{u2}} {N : Type.{u1}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u3, u1} R N _inst_1 _inst_5] {ι : Type.{u5}} {κ : Type.{u4}} (e₁ : Equiv.{succ u5, succ u4} ι κ) (e₂ : LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (f : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (k : κ), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => N) k) (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) κ (fun (_x : κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => N) _x) (Finsupp.funLike.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u5)) (succ u4), max (succ u2) (succ u5), max (succ u1) (succ u4)} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _x) (SMulHomClass.toFunLike.{max (max (max u2 u1) u5) u4, u3, max u2 u5, max u1 u4} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (SMulZeroClass.toSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribSMul.toSMulZeroClass.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribMulAction.toDistribSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toZero.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribSMul.toSMulZeroClass.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toAddZeroClass.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribMulAction.toDistribSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u2 u1) u5) u4, u3, max u2 u5, max u1 u4} (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u5, max u1 u4, max (max (max u2 u1) u5) u4} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u5, max u1 u4, max (max (max u2 u1) u5) u4} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (LinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u5, max u1 u4} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (Finsupp.lcongr.{u2, u1, u3, u5, u4} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂) f) k) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => N) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) R M N (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) R M N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} R M N (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} R R M N (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) e₂ (FunLike.coe.{max (succ u5) (succ u2), succ u5, succ u2} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => M) _x) (Finsupp.funLike.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) f (FunLike.coe.{max (succ u5) (succ u4), succ u4, succ u5} (Equiv.{succ u4, succ u5} κ ι) κ (fun (_x : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : κ) => ι) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u5} κ ι) (Equiv.symm.{succ u5, succ u4} ι κ e₁) k))) Case conversion may be inaccurate. Consider using '#align finsupp.lcongr_apply_apply Finsupp.lcongr_apply_applyₓ'. -/ @[simp] theorem lcongr_apply_apply {ι κ : Sort _} (e₁ : ι ≃ κ) (e₂ : M ≃ₗ[R] N) (f : ι →₀ M) (k : κ) : @@ -1513,7 +1513,7 @@ theorem lcongr_apply_apply {ι κ : Sort _} (e₁ : ι ≃ κ) (e₂ : M ≃ₗ[ lean 3 declaration is forall {M : Type.{u1}} {N : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u3, u2} R N _inst_1 _inst_5] {ι : Type.{u4}} {κ : Type.{u5}} (e₁ : Equiv.{succ u4, succ u5} ι κ) (e₂ : LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (k : κ) (n : N), Eq.{max (succ u4) (succ u1)} (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max u5 u2)) (succ (max u4 u1)), max (succ (max u5 u2)) (succ (max u4 u1))} (LinearEquiv.{u3, u3, max u5 u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4)) (fun (_x : LinearEquiv.{u3, u3, max u5 u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4)) => (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) -> (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearEquiv.hasCoeToFun.{u3, u3, max u5 u2, max u4 u1} R R (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (LinearEquiv.symm.{u3, u3, max u4 u1, max u5 u2} R R (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.lcongr.{u1, u2, u3, u4, u5} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂)) (Finsupp.single.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5))) k n)) (Finsupp.single.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (coeFn.{max 1 (max (succ u5) (succ u4)) (succ u4) (succ u5), max (succ u5) (succ u4)} (Equiv.{succ u5, succ u4} κ ι) (fun (_x : Equiv.{succ u5, succ u4} κ ι) => κ -> ι) (Equiv.hasCoeToFun.{succ u5, succ u4} κ ι) (Equiv.symm.{succ u4, succ u5} ι κ e₁) k) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) (fun (_x : LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) => N -> M) (LinearEquiv.hasCoeToFun.{u3, u3, u2, u1} R R N M _inst_1 _inst_1 _inst_5 _inst_3 _inst_6 _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (LinearEquiv.symm.{u3, u3, u1, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) e₂) n)) but is expected to have type - forall {M : Type.{u2}} {N : Type.{u1}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u3, u1} R N _inst_1 _inst_5] {ι : Type.{u5}} {κ : Type.{u4}} (e₁ : Equiv.{succ u5, succ u4} ι κ) (e₂ : LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (k : κ) (n : N), Eq.{max (succ u2) (succ u5)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) => Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.single.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) k n)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5), max (succ u1) (succ u4), max (succ u2) (succ u5)} (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (fun (_x : Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) => Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (SMulHomClass.toFunLike.{max (max (max u2 u1) u4) u5, u3, max u1 u4, max u2 u5} (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toZero.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribSMul.toSMulZeroClass.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toAddZeroClass.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribMulAction.toDistribSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6))))) (SMulZeroClass.toSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribSMul.toSMulZeroClass.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribMulAction.toDistribSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u2 u1) u4) u5, u3, max u1 u4, max u2 u5} (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u3, max u1 u4, max u2 u5, max (max (max u2 u1) u4) u5} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u1 u4, max u2 u5, max (max (max u2 u1) u4) u5} R R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (LinearEquiv.symm.{u3, u3, max u2 u5, max u1 u4} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.lcongr.{u2, u1, u3, u5, u4} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂)) (Finsupp.single.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) k n)) (Finsupp.single.{u5, u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : κ) => ι) k) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => M) n) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => M) n) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => M) n) _inst_3)) (FunLike.coe.{max (succ u4) (succ u5), succ u4, succ u5} (Equiv.{succ u4, succ u5} κ ι) κ (fun (_x : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : κ) => ι) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u5} κ ι) (Equiv.symm.{succ u5, succ u4} ι κ e₁) k) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => M) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) R N M (SMulZeroClass.toSMul.{u3, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) R N M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u2, max u2 u1} R N M (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) _inst_1 _inst_5 _inst_3 _inst_6 _inst_4 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u2, max u2 u1} R R N M (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) _inst_1 _inst_1 _inst_5 _inst_3 _inst_6 _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u2} R R N M _inst_1 _inst_1 _inst_5 _inst_3 _inst_6 _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) e₂) n)) + forall {M : Type.{u2}} {N : Type.{u1}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u3, u1} R N _inst_1 _inst_5] {ι : Type.{u5}} {κ : Type.{u4}} (e₁ : Equiv.{succ u5, succ u4} ι κ) (e₂ : LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6) (k : κ) (n : N), Eq.{max (succ u2) (succ u5)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) => Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.single.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) k n)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5), max (succ u1) (succ u4), max (succ u2) (succ u5)} (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (fun (_x : Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) => Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (SMulHomClass.toFunLike.{max (max (max u2 u1) u4) u5, u3, max u1 u4, max u2 u5} (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulZeroClass.toSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toZero.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribSMul.toSMulZeroClass.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddMonoid.toAddZeroClass.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5))) (DistribMulAction.toDistribSMul.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6))))) (SMulZeroClass.toSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribSMul.toSMulZeroClass.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3))) (DistribMulAction.toDistribSMul.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u2 u1) u4) u5, u3, max u1 u4, max u2 u5} (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u1 u4} (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5)) (AddCommMonoid.toAddMonoid.{max u2 u5} (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3)) (Module.toDistribMulAction.{u3, max u1 u4} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6)) (Module.toDistribMulAction.{u3, max u2 u5} R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u3, max u1 u4, max u2 u5, max (max (max u2 u1) u4) u5} R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u1 u4, max u2 u5, max (max (max u2 u1) u4) u5} R R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (LinearEquiv.symm.{u3, u3, max u2 u5, max u1 u4} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.lcongr.{u2, u1, u3, u5, u4} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂)) (Finsupp.single.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) k n)) (Finsupp.single.{u5, u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : κ) => ι) k) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => M) n) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => M) n) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => M) n) _inst_3)) (FunLike.coe.{max (succ u4) (succ u5), succ u4, succ u5} (Equiv.{succ u4, succ u5} κ ι) κ (fun (_x : κ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : κ) => ι) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u5} κ ι) (Equiv.symm.{succ u5, succ u4} ι κ e₁) k) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => M) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) R N M (SMulZeroClass.toSMul.{u3, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R N (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) R N M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} N _inst_5) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u1} R N _inst_1 _inst_5 _inst_6) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_4) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u2, max u2 u1} R N M (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) _inst_1 _inst_5 _inst_3 _inst_6 _inst_4 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u2, max u2 u1} R R N M (LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) N M _inst_5 _inst_3 _inst_6 _inst_4) _inst_1 _inst_1 _inst_5 _inst_3 _inst_6 _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u2} R R N M _inst_1 _inst_1 _inst_5 _inst_3 _inst_6 _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)))))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) e₂) n)) Case conversion may be inaccurate. Consider using '#align finsupp.lcongr_symm_single Finsupp.lcongr_symm_singleₓ'. -/ theorem lcongr_symm_single {ι κ : Sort _} (e₁ : ι ≃ κ) (e₂ : M ≃ₗ[R] N) (k : κ) (n : N) : (lcongr e₁ e₂).symm (Finsupp.single k n) = Finsupp.single (e₁.symm k) (e₂.symm n) := @@ -1526,7 +1526,7 @@ theorem lcongr_symm_single {ι κ : Sort _} (e₁ : ι ≃ κ) (e₂ : M ≃ₗ[ lean 3 declaration is forall {M : Type.{u1}} {N : Type.{u2}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u2} N] [_inst_6 : Module.{u3, u2} R N _inst_1 _inst_5] {ι : Type.{u4}} {κ : Type.{u5}} (e₁ : Equiv.{succ u4, succ u5} ι κ) (e₂ : LinearEquiv.{u3, u3, u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (succ (max u5 u2)) (succ (max u4 u1))} (LinearEquiv.{u3, u3, max u5 u2, max u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.symm.{u3, u3, max u4 u1, max u5 u2} R R (Finsupp.{u4, u1} ι M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u5, u2} κ N (AddZeroClass.toHasZero.{u2} N (AddMonoid.toAddZeroClass.{u2} N (AddCommMonoid.toAddMonoid.{u2} N _inst_5)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u1} ι M _inst_3) (Finsupp.addCommMonoid.{u5, u2} κ N _inst_5) (Finsupp.module.{u4, u1, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u5, u2, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.lcongr.{u1, u2, u3, u4, u5} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂)) (Finsupp.lcongr.{u2, u1, u3, u5, u4} N M R _inst_1 _inst_5 _inst_6 _inst_3 _inst_4 κ ι (Equiv.symm.{succ u4, succ u5} ι κ e₁) (LinearEquiv.symm.{u3, u3, u1, u2} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) e₂)) but is expected to have type - forall {M : Type.{u2}} {N : Type.{u1}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u3, u1} R N _inst_1 _inst_5] {ι : Type.{u5}} {κ : Type.{u4}} (e₁ : Equiv.{succ u5, succ u4} ι κ) (e₂ : LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5)} (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.symm.{u3, u3, max u2 u5, max u1 u4} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.lcongr.{u2, u1, u3, u5, u4} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂)) (Finsupp.lcongr.{u1, u2, u3, u4, u5} N M R _inst_1 _inst_5 _inst_6 _inst_3 _inst_4 κ ι (Equiv.symm.{succ u5, succ u4} ι κ e₁) (LinearEquiv.symm.{u3, u3, u2, u1} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) e₂)) + forall {M : Type.{u2}} {N : Type.{u1}} {R : Type.{u3}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_5 : AddCommMonoid.{u1} N] [_inst_6 : Module.{u3, u1} R N _inst_1 _inst_5] {ι : Type.{u5}} {κ : Type.{u4}} (e₁ : Equiv.{succ u5, succ u4} ι κ) (e₂ : LinearEquiv.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) M N _inst_3 _inst_5 _inst_4 _inst_6), Eq.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5)} (LinearEquiv.{u3, u3, max u1 u4, max u2 u5} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4)) (LinearEquiv.symm.{u3, u3, max u2 u5, max u1 u4} R R (Finsupp.{u5, u2} ι M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u4, u1} κ N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N _inst_5))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{u5, u2} ι M _inst_3) (Finsupp.addCommMonoid.{u4, u1} κ N _inst_5) (Finsupp.module.{u5, u2, u3} ι M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u3} κ N R _inst_1 _inst_5 _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Finsupp.lcongr.{u2, u1, u3, u5, u4} M N R _inst_1 _inst_3 _inst_4 _inst_5 _inst_6 ι κ e₁ e₂)) (Finsupp.lcongr.{u1, u2, u3, u4, u5} N M R _inst_1 _inst_5 _inst_6 _inst_3 _inst_4 κ ι (Equiv.symm.{succ u5, succ u4} ι κ e₁) (LinearEquiv.symm.{u3, u3, u2, u1} R R M N _inst_1 _inst_1 _inst_3 _inst_5 _inst_4 _inst_6 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) e₂)) Case conversion may be inaccurate. Consider using '#align finsupp.lcongr_symm Finsupp.lcongr_symmₓ'. -/ @[simp] theorem lcongr_symm {ι κ : Sort _} (e₁ : ι ≃ κ) (e₂ : M ≃ₗ[R] N) : @@ -1544,7 +1544,7 @@ variable (R) 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] {α : Type.{u3}} {β : Type.{u4}}, LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) 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] {α : Type.{u3}} {β : Type.{u4}}, LinearEquiv.{u2, u2, max u1 u4 u3, max (max u1 u4) u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u4 u3, u1} (Sum.{u3, u4} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Prod.{max u1 u3, max u1 u4} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.{u4, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u1 u3, max u1 u4} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.{u4, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u1 u3, max u1 u4} R (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.{u4, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) + 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] {α : Type.{u3}} {β : Type.{u4}}, LinearEquiv.{u2, u2, max u1 u4 u3, max (max u1 u4) u1 u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u4 u3, u1} (Sum.{u3, u4} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Prod.{max u1 u3, max u1 u4} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.{u4, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u1 u3, max u1 u4} (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.{u4, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u1 u3, max u1 u4} R (Finsupp.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Finsupp.{u4, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) Case conversion may be inaccurate. Consider using '#align finsupp.sum_finsupp_lequiv_prod_finsupp Finsupp.sumFinsuppLEquivProdFinsuppₓ'. -/ /-- The linear equivalence between `(α ⊕ β) →₀ M` and `(α →₀ M) × (β →₀ M)`. @@ -1562,9 +1562,9 @@ def sumFinsuppLEquivProdFinsupp {α β : Type _} : (Sum α β →₀ M) ≃ₗ[R /- warning: finsupp.fst_sum_finsupp_lequiv_prod_finsupp -> Finsupp.fst_sumFinsuppLEquivProdFinsupp is a dubious translation: 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] {α : Type.{u3}} {β : Type.{u4}} (f : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (x : α), Eq.{succ u1} M (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => α -> M) (Finsupp.hasCoeToFun.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.fst.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max (max u3 u4) u1)) (succ (max (max u3 u1) u4 u1)), max (succ (max (max u3 u4) u1)) (succ (max (max u3 u1) u4 u1))} (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4))) (fun (_x : LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4))) => (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) (LinearEquiv.hasCoeToFun.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Finsupp.sumFinsuppLEquivProdFinsupp.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α β) f)) x) (coeFn.{max (succ (max u3 u4)) (succ u1), max (succ (max u3 u4)) (succ u1)} (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => (Sum.{u3, u4} α β) -> M) (Finsupp.hasCoeToFun.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) f (Sum.inl.{u3, u4} α β 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] {α : Type.{u3}} {β : Type.{u4}} (f : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (x : α), Eq.{succ u1} M (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => α -> M) (Finsupp.coeFun.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.fst.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max (max u3 u4) u1)) (succ (max (max u3 u1) u4 u1)), max (succ (max (max u3 u4) u1)) (succ (max (max u3 u1) u4 u1))} (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4))) (fun (_x : LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4))) => (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) (LinearEquiv.hasCoeToFun.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Finsupp.sumFinsuppLEquivProdFinsupp.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α β) f)) x) (coeFn.{max (succ (max u3 u4)) (succ u1), max (succ (max u3 u4)) (succ u1)} (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => (Sum.{u3, u4} α β) -> M) (Finsupp.coeFun.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) f (Sum.inl.{u3, u4} α β x)) but is expected to have type - forall {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] {α : Type.{u4}} {β : Type.{u3}} (f : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (x : α), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.fst.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toZero.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Finsupp.sumFinsuppLEquivProdFinsupp.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α β) f)) x) (FunLike.coe.{max (succ (max u4 u3)) (succ u2), succ (max u4 u3), succ u2} (Finsupp.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Sum.{u4, u3} α β) (fun (_x : Sum.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) f (Sum.inl.{u4, u3} α β x)) + forall {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] {α : Type.{u4}} {β : Type.{u3}} (f : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (x : α), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) x) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.fst.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toZero.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Finsupp.sumFinsuppLEquivProdFinsupp.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α β) f)) x) (FunLike.coe.{max (succ (max u4 u3)) (succ u2), succ (max u4 u3), succ u2} (Finsupp.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Sum.{u4, u3} α β) (fun (_x : Sum.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) f (Sum.inl.{u4, u3} α β x)) Case conversion may be inaccurate. Consider using '#align finsupp.fst_sum_finsupp_lequiv_prod_finsupp Finsupp.fst_sumFinsuppLEquivProdFinsuppₓ'. -/ theorem fst_sumFinsuppLEquivProdFinsupp {α β : Type _} (f : Sum α β →₀ M) (x : α) : (sumFinsuppLEquivProdFinsupp R f).1 x = f (Sum.inl x) := @@ -1573,9 +1573,9 @@ theorem fst_sumFinsuppLEquivProdFinsupp {α β : Type _} (f : Sum α β →₀ M /- warning: finsupp.snd_sum_finsupp_lequiv_prod_finsupp -> Finsupp.snd_sumFinsuppLEquivProdFinsupp is a dubious translation: 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] {α : Type.{u3}} {β : Type.{u4}} (f : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (y : β), Eq.{succ u1} M (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => β -> M) (Finsupp.hasCoeToFun.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.snd.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max (max u3 u4) u1)) (succ (max (max u3 u1) u4 u1)), max (succ (max (max u3 u4) u1)) (succ (max (max u3 u1) u4 u1))} (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4))) (fun (_x : LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4))) => (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) (LinearEquiv.hasCoeToFun.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Finsupp.sumFinsuppLEquivProdFinsupp.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α β) f)) y) (coeFn.{max (succ (max u3 u4)) (succ u1), max (succ (max u3 u4)) (succ u1)} (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => (Sum.{u3, u4} α β) -> M) (Finsupp.hasCoeToFun.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) f (Sum.inr.{u3, u4} α β y)) + 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] {α : Type.{u3}} {β : Type.{u4}} (f : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (y : β), Eq.{succ u1} M (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => β -> M) (Finsupp.coeFun.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.snd.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max (max u3 u4) u1)) (succ (max (max u3 u1) u4 u1)), max (succ (max (max u3 u4) u1)) (succ (max (max u3 u1) u4 u1))} (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4))) (fun (_x : LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4))) => (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) -> (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) (LinearEquiv.hasCoeToFun.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (Finsupp.sumFinsuppLEquivProdFinsupp.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α β) f)) y) (coeFn.{max (succ (max u3 u4)) (succ u1), max (succ (max u3 u4)) (succ u1)} (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => (Sum.{u3, u4} α β) -> M) (Finsupp.coeFun.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) f (Sum.inr.{u3, u4} α β y)) but is expected to have type - forall {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] {α : Type.{u4}} {β : Type.{u3}} (f : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (y : β), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) y) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.snd.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toZero.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Finsupp.sumFinsuppLEquivProdFinsupp.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α β) f)) y) (FunLike.coe.{max (succ (max u4 u3)) (succ u2), succ (max u4 u3), succ u2} (Finsupp.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Sum.{u4, u3} α β) (fun (_x : Sum.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) f (Sum.inr.{u4, u3} α β y)) + forall {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] {α : Type.{u4}} {β : Type.{u3}} (f : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (y : β), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) y) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.snd.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (fun (_x : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) => Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toZero.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (LinearEquiv.{u1, u1, max u2 u3 u4, max (max u2 u3) u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Finsupp.sumFinsuppLEquivProdFinsupp.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α β) f)) y) (FunLike.coe.{max (succ (max u4 u3)) (succ u2), succ (max u4 u3), succ u2} (Finsupp.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Sum.{u4, u3} α β) (fun (_x : Sum.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) f (Sum.inr.{u4, u3} α β y)) Case conversion may be inaccurate. Consider using '#align finsupp.snd_sum_finsupp_lequiv_prod_finsupp Finsupp.snd_sumFinsuppLEquivProdFinsuppₓ'. -/ theorem snd_sumFinsuppLEquivProdFinsupp {α β : Type _} (f : Sum α β →₀ M) (y : β) : (sumFinsuppLEquivProdFinsupp R f).2 y = f (Sum.inr y) := @@ -1584,9 +1584,9 @@ theorem snd_sumFinsuppLEquivProdFinsupp {α β : Type _} (f : Sum α β →₀ M /- warning: finsupp.sum_finsupp_lequiv_prod_finsupp_symm_inl -> Finsupp.sumFinsuppLEquivProdFinsupp_symm_inl is a dubious translation: 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] {α : Type.{u3}} {β : Type.{u4}} (fg : Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (x : α), Eq.{succ u1} M (coeFn.{max (succ (max u3 u4)) (succ u1), max (succ (max u3 u4)) (succ u1)} (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => (Sum.{u3, u4} α β) -> M) (Finsupp.hasCoeToFun.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max (max u3 u1) u4 u1)) (succ (max (max u3 u4) u1)), max (succ (max (max u3 u1) u4 u1)) (succ (max (max u3 u4) u1))} (LinearEquiv.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4)) (fun (_x : LinearEquiv.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4)) => (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) -> (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearEquiv.hasCoeToFun.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 _inst_1 (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (LinearEquiv.symm.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.sumFinsuppLEquivProdFinsupp.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α β)) fg) (Sum.inl.{u3, u4} α β x)) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => α -> M) (Finsupp.hasCoeToFun.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.fst.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) fg) 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] {α : Type.{u3}} {β : Type.{u4}} (fg : Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (x : α), Eq.{succ u1} M (coeFn.{max (succ (max u3 u4)) (succ u1), max (succ (max u3 u4)) (succ u1)} (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => (Sum.{u3, u4} α β) -> M) (Finsupp.coeFun.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max (max u3 u1) u4 u1)) (succ (max (max u3 u4) u1)), max (succ (max (max u3 u1) u4 u1)) (succ (max (max u3 u4) u1))} (LinearEquiv.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4)) (fun (_x : LinearEquiv.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4)) => (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) -> (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearEquiv.hasCoeToFun.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 _inst_1 (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (LinearEquiv.symm.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.sumFinsuppLEquivProdFinsupp.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α β)) fg) (Sum.inl.{u3, u4} α β x)) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => α -> M) (Finsupp.coeFun.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.fst.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) fg) x) but is expected to have type - forall {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] {α : Type.{u4}} {β : Type.{u3}} (fg : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (x : α), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) (Sum.inl.{u4, u3} α β x)) (FunLike.coe.{max (succ (max u4 u3)) (succ u2), succ (max u4 u3), succ u2} (Finsupp.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Sum.{u4, u3} α β) (fun (_x : Sum.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toZero.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.sumFinsuppLEquivProdFinsupp.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α β)) fg) (Sum.inl.{u4, u3} α β x)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.fst.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) fg) x) + forall {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] {α : Type.{u4}} {β : Type.{u3}} (fg : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (x : α), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) (Sum.inl.{u4, u3} α β x)) (FunLike.coe.{max (succ (max u4 u3)) (succ u2), succ (max u4 u3), succ u2} (Finsupp.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Sum.{u4, u3} α β) (fun (_x : Sum.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toZero.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.sumFinsuppLEquivProdFinsupp.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α β)) fg) (Sum.inl.{u4, u3} α β x)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => M) _x) (Finsupp.funLike.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.fst.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) fg) x) Case conversion may be inaccurate. Consider using '#align finsupp.sum_finsupp_lequiv_prod_finsupp_symm_inl Finsupp.sumFinsuppLEquivProdFinsupp_symm_inlₓ'. -/ theorem sumFinsuppLEquivProdFinsupp_symm_inl {α β : Type _} (fg : (α →₀ M) × (β →₀ M)) (x : α) : ((sumFinsuppLEquivProdFinsupp R).symm fg) (Sum.inl x) = fg.1 x := @@ -1595,9 +1595,9 @@ theorem sumFinsuppLEquivProdFinsupp_symm_inl {α β : Type _} (fg : (α →₀ M /- warning: finsupp.sum_finsupp_lequiv_prod_finsupp_symm_inr -> Finsupp.sumFinsuppLEquivProdFinsupp_symm_inr is a dubious translation: 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] {α : Type.{u3}} {β : Type.{u4}} (fg : Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (y : β), Eq.{succ u1} M (coeFn.{max (succ (max u3 u4)) (succ u1), max (succ (max u3 u4)) (succ u1)} (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => (Sum.{u3, u4} α β) -> M) (Finsupp.hasCoeToFun.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max (max u3 u1) u4 u1)) (succ (max (max u3 u4) u1)), max (succ (max (max u3 u1) u4 u1)) (succ (max (max u3 u4) u1))} (LinearEquiv.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4)) (fun (_x : LinearEquiv.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4)) => (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) -> (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearEquiv.hasCoeToFun.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 _inst_1 (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (LinearEquiv.symm.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.sumFinsuppLEquivProdFinsupp.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α β)) fg) (Sum.inr.{u3, u4} α β y)) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => β -> M) (Finsupp.hasCoeToFun.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.snd.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) fg) y) + 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] {α : Type.{u3}} {β : Type.{u4}} (fg : Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (y : β), Eq.{succ u1} M (coeFn.{max (succ (max u3 u4)) (succ u1), max (succ (max u3 u4)) (succ u1)} (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => (Sum.{u3, u4} α β) -> M) (Finsupp.coeFun.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{max (succ (max (max u3 u1) u4 u1)) (succ (max (max u3 u4) u1)), max (succ (max (max u3 u1) u4 u1)) (succ (max (max u3 u4) u1))} (LinearEquiv.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4)) (fun (_x : LinearEquiv.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4)) => (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) -> (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (LinearEquiv.hasCoeToFun.{u2, u2, max (max u3 u1) u4 u1, max (max u3 u4) u1} R R (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 _inst_1 (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)) (LinearEquiv.symm.{u2, u2, max (max u3 u4) u1, max (max u3 u1) u4 u1} R R (Finsupp.{max u3 u4, u1} (Sum.{u3, u4} α β) M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u3 u4, u1} (Sum.{u3, u4} α β) M _inst_3) (Prod.addCommMonoid.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3)) (Finsupp.module.{max u3 u4, u1, u2} (Sum.{u3, u4} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u2, max u3 u1, max u4 u1} R (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α M _inst_3) (Finsupp.addCommMonoid.{u4, u1} β M _inst_3) (Finsupp.module.{u3, u1, u2} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u4, u1, u2} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.sumFinsuppLEquivProdFinsupp.{u1, u2, u3, u4} M R _inst_1 _inst_3 _inst_4 α β)) fg) (Sum.inr.{u3, u4} α β y)) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (fun (_x : Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) => β -> M) (Finsupp.coeFun.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Prod.snd.{max u3 u1, max u4 u1} (Finsupp.{u3, u1} α M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Finsupp.{u4, u1} β M (AddZeroClass.toHasZero.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) fg) y) but is expected to have type - forall {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] {α : Type.{u4}} {β : Type.{u3}} (fg : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (y : β), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) (Sum.inr.{u4, u3} α β y)) (FunLike.coe.{max (succ (max u4 u3)) (succ u2), succ (max u4 u3), succ u2} (Finsupp.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Sum.{u4, u3} α β) (fun (_x : Sum.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toZero.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.sumFinsuppLEquivProdFinsupp.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α β)) fg) (Sum.inr.{u4, u3} α β y)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.snd.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) fg) y) + forall {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] {α : Type.{u4}} {β : Type.{u3}} (fg : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (y : β), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) (Sum.inr.{u4, u3} α β y)) (FunLike.coe.{max (succ (max u4 u3)) (succ u2), succ (max u4 u3), succ u2} (Finsupp.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Sum.{u4, u3} α β) (fun (_x : Sum.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sum.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (fun (_x : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) => Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toZero.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toZero.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u2, u1, max (max u3 u4) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2, max (max u3 u4) u2} R R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (LinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4)) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 _inst_1 (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (LinearEquiv.symm.{u1, u1, max (max u3 u4) u2, max (max u3 u4) u2} R R (Finsupp.{max u3 u4, u2} (Sum.{u4, u3} α β) M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u4 u3, u2} (Sum.{u4, u3} α β) M _inst_3) (Prod.instAddCommMonoidSum.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3)) (Finsupp.module.{max u4 u3, u2, u1} (Sum.{u4, u3} α β) M R _inst_1 _inst_3 _inst_4) (Prod.module.{u1, max u2 u4, max u2 u3} R (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) _inst_1 (Finsupp.addCommMonoid.{u4, u2} α M _inst_3) (Finsupp.addCommMonoid.{u3, u2} β M _inst_3) (Finsupp.module.{u4, u2, u1} α M R _inst_1 _inst_3 _inst_4) (Finsupp.module.{u3, u2, u1} β M R _inst_1 _inst_3 _inst_4)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.sumFinsuppLEquivProdFinsupp.{u2, u1, u4, u3} M R _inst_1 _inst_3 _inst_4 α β)) fg) (Sum.inr.{u4, u3} α β y)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Prod.snd.{max u2 u4, max u2 u3} (Finsupp.{u4, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Finsupp.{u3, u2} β M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) fg) y) Case conversion may be inaccurate. Consider using '#align finsupp.sum_finsupp_lequiv_prod_finsupp_symm_inr Finsupp.sumFinsuppLEquivProdFinsupp_symm_inrₓ'. -/ theorem sumFinsuppLEquivProdFinsupp_symm_inr {α β : Type _} (fg : (α →₀ M) × (β →₀ M)) (y : β) : ((sumFinsuppLEquivProdFinsupp R).symm fg) (Sum.inr y) = fg.2 y := @@ -1616,7 +1616,7 @@ variable (R) lean 3 declaration is forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {η : Type.{u2}} [_inst_9 : Fintype.{u2} η] {M : Type.{u3}} {ιs : η -> Type.{u4}} [_inst_11 : AddCommMonoid.{u3} M] [_inst_12 : Module.{u1, u3} R M _inst_1 _inst_11], LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) but is expected to have type - forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {η : Type.{u2}} [_inst_9 : Fintype.{u2} η] {M : Type.{u3}} {ιs : η -> Type.{u4}} [_inst_11 : AddCommMonoid.{u3} M] [_inst_12 : Module.{u1, u3} R M _inst_1 _inst_11], LinearEquiv.{u1, u1, max u3 u4 u2, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u4 u2, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u2, max u3 u4} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u2, max u3 u4, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) + forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {η : Type.{u2}} [_inst_9 : Fintype.{u2} η] {M : Type.{u3}} {ιs : η -> Type.{u4}} [_inst_11 : AddCommMonoid.{u3} M] [_inst_12 : Module.{u1, u3} R M _inst_1 _inst_11], LinearEquiv.{u1, u1, max u3 u4 u2, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u4 u2, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u2, max u3 u4} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u2, max u3 u4, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) Case conversion may be inaccurate. Consider using '#align finsupp.sigma_finsupp_lequiv_pi_finsupp Finsupp.sigmaFinsuppLEquivPiFinsuppₓ'. -/ /-- On a `fintype η`, `finsupp.split` is a linear equivalence between `(Σ (j : η), ιs j) →₀ M` and `Π j, (ιs j →₀ M)`. @@ -1632,9 +1632,9 @@ noncomputable def sigmaFinsuppLEquivPiFinsupp {M : Type _} {ιs : η → Type _} /- warning: finsupp.sigma_finsupp_lequiv_pi_finsupp_apply -> Finsupp.sigmaFinsuppLEquivPiFinsupp_apply is a dubious translation: lean 3 declaration is - forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {η : Type.{u2}} [_inst_9 : Fintype.{u2} η] {M : Type.{u3}} {ιs : η -> Type.{u4}} [_inst_11 : AddCommMonoid.{u3} M] [_inst_12 : Module.{u1, u3} R M _inst_1 _inst_11] (f : Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (j : η) (i : ιs j), Eq.{succ u3} M (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (_x : Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) => (ιs j) -> M) (Finsupp.hasCoeToFun.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (coeFn.{max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3)), max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3))} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12))) (fun (_x : LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12))) => (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) -> (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))))) (LinearEquiv.hasCoeToFun.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (Finsupp.sigmaFinsuppLEquivPiFinsupp.{u1, u2, u3, u4} R _inst_1 η _inst_9 M (fun (j : η) => ιs j) _inst_11 _inst_12) f j) i) (coeFn.{max (succ (max u2 u4)) (succ u3), max (succ (max u2 u4)) (succ u3)} (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (_x : Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) => (Sigma.{u2, u4} η (fun (j : η) => ιs j)) -> M) (Finsupp.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) f (Sigma.mk.{u2, u4} η (fun (j : η) => ιs j) j i)) + forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {η : Type.{u2}} [_inst_9 : Fintype.{u2} η] {M : Type.{u3}} {ιs : η -> Type.{u4}} [_inst_11 : AddCommMonoid.{u3} M] [_inst_12 : Module.{u1, u3} R M _inst_1 _inst_11] (f : Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (j : η) (i : ιs j), Eq.{succ u3} M (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (_x : Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) => (ιs j) -> M) (Finsupp.coeFun.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (coeFn.{max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3)), max (succ (max (max u2 u4) u3)) (succ (max u2 u4 u3))} (LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12))) (fun (_x : LinearEquiv.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12))) => (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) -> (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))))) (LinearEquiv.hasCoeToFun.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (Finsupp.sigmaFinsuppLEquivPiFinsupp.{u1, u2, u3, u4} R _inst_1 η _inst_9 M (fun (j : η) => ιs j) _inst_11 _inst_12) f j) i) (coeFn.{max (succ (max u2 u4)) (succ u3), max (succ (max u2 u4)) (succ u3)} (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (_x : Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) => (Sigma.{u2, u4} η (fun (j : η) => ιs j)) -> M) (Finsupp.coeFun.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) f (Sigma.mk.{u2, u4} η (fun (j : η) => ιs j) j i)) but is expected to have type - forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {η : Type.{u1}} [_inst_9 : Fintype.{u1} η] {M : Type.{u4}} {ιs : η -> Type.{u3}} [_inst_11 : AddCommMonoid.{u4} M] [_inst_12 : Module.{u2, u4} R M _inst_1 _inst_11] (f : Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (j : η) (i : ιs j), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ιs j) => M) i) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (ιs j) (fun (_x : ιs j) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ιs j) => M) _x) (Finsupp.funLike.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (max (succ u3) (succ u4)) (succ u1), max (max (succ u3) (succ u4)) (succ u1)} (LinearEquiv.{u2, u2, max u4 u3 u1, max (max u1 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (i : η) => ιs i)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (_x : Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (i : η) => ιs i)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) => forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u1, u2, max (max u3 u4) u1, max (max u3 u4) u1} (LinearEquiv.{u2, u2, max u4 u3 u1, max (max u1 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (SMulZeroClass.toSMul.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toZero.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11))) (DistribSMul.toSMulZeroClass.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11))) (DistribMulAction.toDistribSMul.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11)) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12))))) (SMulZeroClass.toSMul.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toZero.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)))) (DistribSMul.toSMulZeroClass.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)))) (DistribMulAction.toDistribSMul.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11))) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u1, u2, max (max u3 u4) u1, max (max u3 u4) u1} (LinearEquiv.{u2, u2, max u4 u3 u1, max (max u1 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11))) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u3 u4) u1, max (max u3 u4) u1, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (LinearEquiv.{u2, u2, max u4 u3 u1, max (max u1 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1, max (max u3 u4) u1} R R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (LinearEquiv.{u2, u2, max u4 u3 u1, max (max u1 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Finsupp.sigmaFinsuppLEquivPiFinsupp.{u2, u1, u4, u3} R _inst_1 η _inst_9 M (fun (j : η) => ιs j) _inst_11 _inst_12) f j) i) (FunLike.coe.{max (succ (max u1 u3)) (succ u4), succ (max u1 u3), succ u4} (Finsupp.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Sigma.{u1, u3} η (fun (j : η) => ιs j)) (fun (_x : Sigma.{u1, u3} η (fun (j : η) => ιs j)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u3} η (fun (j : η) => ιs j)) => M) _x) (Finsupp.funLike.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) f (Sigma.mk.{u1, u3} η (fun (j : η) => ιs j) j i)) + forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {η : Type.{u1}} [_inst_9 : Fintype.{u1} η] {M : Type.{u4}} {ιs : η -> Type.{u3}} [_inst_11 : AddCommMonoid.{u4} M] [_inst_12 : Module.{u2, u4} R M _inst_1 _inst_11] (f : Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (j : η) (i : ιs j), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ιs j) => M) i) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (ιs j) (fun (_x : ιs j) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ιs j) => M) _x) (Finsupp.funLike.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (max (succ u3) (succ u4)) (succ u1), max (max (succ u3) (succ u4)) (succ u1)} (LinearEquiv.{u2, u2, max u4 u3 u1, max (max u1 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (i : η) => ιs i)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (_x : Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (i : η) => ιs i)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) => forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u1, u2, max (max u3 u4) u1, max (max u3 u4) u1} (LinearEquiv.{u2, u2, max u4 u3 u1, max (max u1 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (SMulZeroClass.toSMul.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toZero.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11))) (DistribSMul.toSMulZeroClass.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11))) (DistribMulAction.toDistribSMul.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11)) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12))))) (SMulZeroClass.toSMul.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toZero.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)))) (DistribSMul.toSMulZeroClass.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)))) (DistribMulAction.toDistribSMul.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11))) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u1, u2, max (max u3 u4) u1, max (max u3 u4) u1} (LinearEquiv.{u2, u2, max u4 u3 u1, max (max u1 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11))) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u3 u4) u1, max (max u3 u4) u1, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (LinearEquiv.{u2, u2, max u4 u3 u1, max (max u1 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1, max (max u3 u4) u1} R R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (LinearEquiv.{u2, u2, max u4 u3 u1, max (max u1 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (Finsupp.sigmaFinsuppLEquivPiFinsupp.{u2, u1, u4, u3} R _inst_1 η _inst_9 M (fun (j : η) => ιs j) _inst_11 _inst_12) f j) i) (FunLike.coe.{max (succ (max u1 u3)) (succ u4), succ (max u1 u3), succ u4} (Finsupp.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Sigma.{u1, u3} η (fun (j : η) => ιs j)) (fun (_x : Sigma.{u1, u3} η (fun (j : η) => ιs j)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u3} η (fun (j : η) => ιs j)) => M) _x) (Finsupp.funLike.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) f (Sigma.mk.{u1, u3} η (fun (j : η) => ιs j) j i)) Case conversion may be inaccurate. Consider using '#align finsupp.sigma_finsupp_lequiv_pi_finsupp_apply Finsupp.sigmaFinsuppLEquivPiFinsupp_applyₓ'. -/ @[simp] theorem sigmaFinsuppLEquivPiFinsupp_apply {M : Type _} {ιs : η → Type _} [AddCommMonoid M] @@ -1644,9 +1644,9 @@ theorem sigmaFinsuppLEquivPiFinsupp_apply {M : Type _} {ιs : η → Type _} [Ad /- warning: finsupp.sigma_finsupp_lequiv_pi_finsupp_symm_apply -> Finsupp.sigmaFinsuppLEquivPiFinsupp_symm_apply is a dubious translation: lean 3 declaration is - forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {η : Type.{u2}} [_inst_9 : Fintype.{u2} η] {M : Type.{u3}} {ιs : η -> Type.{u4}} [_inst_11 : AddCommMonoid.{u3} M] [_inst_12 : Module.{u1, u3} R M _inst_1 _inst_11] (f : forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (ji : Sigma.{u2, u4} η (fun (j : η) => ιs j)), Eq.{succ u3} M (coeFn.{max (succ (max u2 u4)) (succ u3), max (succ (max u2 u4)) (succ u3)} (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (_x : Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) => (Sigma.{u2, u4} η (fun (j : η) => ιs j)) -> M) (Finsupp.hasCoeToFun.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (coeFn.{max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3)), max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3))} (LinearEquiv.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) (fun (_x : LinearEquiv.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) => (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) -> (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.sigmaFinsuppLEquivPiFinsupp.{u1, u2, u3, u4} R _inst_1 η _inst_9 M (fun (j : η) => ιs j) _inst_11 _inst_12)) f) ji) (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (Finsupp.{u4, u3} (ιs (Sigma.fst.{u2, u4} η (fun (j : η) => ιs j) ji)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (_x : Finsupp.{u4, u3} (ιs (Sigma.fst.{u2, u4} η (fun (j : η) => ιs j) ji)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) => (ιs (Sigma.fst.{u2, u4} η (fun (j : η) => ιs j) ji)) -> M) (Finsupp.hasCoeToFun.{u4, u3} (ιs (Sigma.fst.{u2, u4} η (fun (j : η) => ιs j) ji)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (f (Sigma.fst.{u2, u4} η (fun (j : η) => ιs j) ji)) (Sigma.snd.{u2, u4} η (fun (j : η) => ιs j) ji)) + forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R] {η : Type.{u2}} [_inst_9 : Fintype.{u2} η] {M : Type.{u3}} {ιs : η -> Type.{u4}} [_inst_11 : AddCommMonoid.{u3} M] [_inst_12 : Module.{u1, u3} R M _inst_1 _inst_11] (f : forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (ji : Sigma.{u2, u4} η (fun (j : η) => ιs j)), Eq.{succ u3} M (coeFn.{max (succ (max u2 u4)) (succ u3), max (succ (max u2 u4)) (succ u3)} (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (_x : Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) => (Sigma.{u2, u4} η (fun (j : η) => ιs j)) -> M) (Finsupp.coeFun.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (coeFn.{max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3)), max (succ (max u2 u4 u3)) (succ (max (max u2 u4) u3))} (LinearEquiv.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) (fun (_x : LinearEquiv.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) => (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) -> (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u4 u3, max (max u2 u4) u3} R R (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) _inst_1 _inst_1 (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max (max u2 u4) u3, max u2 u4 u3} R R (Finsupp.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (forall (j : η), Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u2 u4, u3} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u2, max u4 u3} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11)) (Finsupp.module.{max u2 u4, u3, u1} (Sigma.{u2, u4} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u2, max u4 u3, u1} η (fun (j : η) => Finsupp.{u4, u3} (ιs j) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u4, u3} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u4, u3, u1} (ιs i) M R _inst_1 _inst_11 _inst_12)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Finsupp.sigmaFinsuppLEquivPiFinsupp.{u1, u2, u3, u4} R _inst_1 η _inst_9 M (fun (j : η) => ιs j) _inst_11 _inst_12)) f) ji) (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (Finsupp.{u4, u3} (ιs (Sigma.fst.{u2, u4} η (fun (j : η) => ιs j) ji)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (fun (_x : Finsupp.{u4, u3} (ιs (Sigma.fst.{u2, u4} η (fun (j : η) => ιs j) ji)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) => (ιs (Sigma.fst.{u2, u4} η (fun (j : η) => ιs j) ji)) -> M) (Finsupp.coeFun.{u4, u3} (ιs (Sigma.fst.{u2, u4} η (fun (j : η) => ιs j) ji)) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_11)))) (f (Sigma.fst.{u2, u4} η (fun (j : η) => ιs j) ji)) (Sigma.snd.{u2, u4} η (fun (j : η) => ιs j) ji)) but is expected to have type - forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {η : Type.{u1}} [_inst_9 : Fintype.{u1} η] {M : Type.{u4}} {ιs : η -> Type.{u3}} [_inst_11 : AddCommMonoid.{u4} M] [_inst_12 : Module.{u2, u4} R M _inst_1 _inst_11] (f : forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (ji : Sigma.{u1, u3} η (fun (j : η) => ιs j)), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u3} η (fun (j : η) => ιs j)) => M) ji) (FunLike.coe.{max (succ (max u1 u3)) (succ u4), succ (max u1 u3), succ u4} (Finsupp.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Sigma.{u1, u3} η (fun (j : η) => ιs j)) (fun (_x : Sigma.{u1, u3} η (fun (j : η) => ιs j)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u3} η (fun (j : η) => ιs j)) => M) _x) (Finsupp.funLike.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (max (succ u3) (succ u4)) (succ u1), max (max (succ u3) (succ u4)) (succ u1)} (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (_x : forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) => Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u1, u2, max (max u3 u4) u1, max (max u3 u4) u1} (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (SMulZeroClass.toSMul.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toZero.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)))) (DistribSMul.toSMulZeroClass.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)))) (DistribMulAction.toDistribSMul.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11))) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)))))) (SMulZeroClass.toSMul.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toZero.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11))) (DistribSMul.toSMulZeroClass.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11))) (DistribMulAction.toDistribSMul.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11)) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u1, u2, max (max u3 u4) u1, max (max u3 u4) u1} (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11)) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u3 u4) u1, max (max u3 u4) u1, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1, max (max u3 u4) u1} R R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) _inst_1 _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (LinearEquiv.symm.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.sigmaFinsuppLEquivPiFinsupp.{u2, u1, u4, u3} R _inst_1 η _inst_9 M (fun (j : η) => ιs j) _inst_11 _inst_12)) f) ji) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Finsupp.{u3, u4} (ιs (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (ιs (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) (fun (_x : ιs (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ιs (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) => M) _x) (Finsupp.funLike.{u3, u4} (ιs (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (f (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) (Sigma.snd.{u1, u3} η (fun (j : η) => ιs j) ji)) + forall (R : Type.{u2}) [_inst_1 : Semiring.{u2} R] {η : Type.{u1}} [_inst_9 : Fintype.{u1} η] {M : Type.{u4}} {ιs : η -> Type.{u3}} [_inst_11 : AddCommMonoid.{u4} M] [_inst_12 : Module.{u2, u4} R M _inst_1 _inst_11] (f : forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (ji : Sigma.{u1, u3} η (fun (j : η) => ιs j)), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u3} η (fun (j : η) => ιs j)) => M) ji) (FunLike.coe.{max (succ (max u1 u3)) (succ u4), succ (max u1 u3), succ u4} (Finsupp.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Sigma.{u1, u3} η (fun (j : η) => ιs j)) (fun (_x : Sigma.{u1, u3} η (fun (j : η) => ιs j)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Sigma.{u1, u3} η (fun (j : η) => ιs j)) => M) _x) (Finsupp.funLike.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (max (succ u3) (succ u4)) (succ u1), max (max (succ u3) (succ u4)) (succ u1)} (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (_x : forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) => Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _x) (SMulHomClass.toFunLike.{max (max u3 u4) u1, u2, max (max u3 u4) u1, max (max u3 u4) u1} (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (SMulZeroClass.toSMul.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toZero.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)))) (DistribSMul.toSMulZeroClass.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)))) (DistribMulAction.toDistribSMul.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11))) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)))))) (SMulZeroClass.toSMul.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toZero.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11))) (DistribSMul.toSMulZeroClass.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddMonoid.toAddZeroClass.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11))) (DistribMulAction.toDistribSMul.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11)) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u4) u1, u2, max (max u3 u4) u1, max (max u3 u4) u1} (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u1} (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11)) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12))) (Module.toDistribMulAction.{u2, max (max u3 u4) u1} R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u3 u4) u1, max (max u3 u4) u1, max (max u3 u4) u1} R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1, max (max u3 u4) u1} R R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (LinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12)) _inst_1 _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 _inst_1 (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1)))))) (LinearEquiv.symm.{u2, u2, max (max u3 u4) u1, max (max u3 u4) u1} R R (Finsupp.{max u3 u1, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (forall (j : η), Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) _inst_1 _inst_1 (Finsupp.addCommMonoid.{max u1 u3, u4} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M _inst_11) (Pi.addCommMonoid.{u1, max u4 u3} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11)) (Finsupp.module.{max u1 u3, u4, u2} (Sigma.{u1, u3} η (fun (j : η) => ιs j)) M R _inst_1 _inst_11 _inst_12) (Pi.module.{u1, max u4 u3, u2} η (fun (j : η) => Finsupp.{u3, u4} (ιs j) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) R _inst_1 (fun (i : η) => Finsupp.addCommMonoid.{u3, u4} (ιs i) M _inst_11) (fun (i : η) => Finsupp.module.{u3, u4, u2} (ιs i) M R _inst_1 _inst_11 _inst_12)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Finsupp.sigmaFinsuppLEquivPiFinsupp.{u2, u1, u4, u3} R _inst_1 η _inst_9 M (fun (j : η) => ιs j) _inst_11 _inst_12)) f) ji) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Finsupp.{u3, u4} (ιs (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (ιs (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) (fun (_x : ιs (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ιs (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) => M) _x) (Finsupp.funLike.{u3, u4} (ιs (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_11))) (f (Sigma.fst.{u1, u3} η (fun (j : η) => ιs j) ji)) (Sigma.snd.{u1, u3} η (fun (j : η) => ιs j) ji)) Case conversion may be inaccurate. Consider using '#align finsupp.sigma_finsupp_lequiv_pi_finsupp_symm_apply Finsupp.sigmaFinsuppLEquivPiFinsupp_symm_applyₓ'. -/ @[simp] theorem sigmaFinsuppLEquivPiFinsupp_symm_apply {M : Type _} {ιs : η → Type _} [AddCommMonoid M] @@ -1661,9 +1661,9 @@ section Prod /- warning: finsupp.finsupp_prod_lequiv -> Finsupp.finsuppProdLEquiv is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} (R : Type.{u3}) {M : Type.{u4}} [_inst_9 : Semiring.{u3} R] [_inst_10 : AddCommMonoid.{u4} M] [_inst_11 : Module.{u3, u4} R M _inst_9 _inst_10], LinearEquiv.{u3, u3, max (max u1 u2) u4, max u1 u2 u4} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) + forall {α : Type.{u1}} {β : Type.{u2}} (R : Type.{u3}) {M : Type.{u4}} [_inst_9 : Semiring.{u3} R] [_inst_10 : AddCommMonoid.{u4} M] [_inst_11 : Module.{u3, u4} R M _inst_9 _inst_10], LinearEquiv.{u3, u3, max (max u1 u2) u4, max u1 u2 u4} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) but is expected to have type - forall {α : Type.{u1}} {β : Type.{u2}} (R : Type.{u3}) {M : Type.{u4}} [_inst_9 : Semiring.{u3} R] [_inst_10 : AddCommMonoid.{u4} M] [_inst_11 : Module.{u3, u4} R M _inst_9 _inst_10], LinearEquiv.{u3, u3, max u4 u2 u1, max (max u4 u2) u1} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{max u2 u1, u4} (Prod.{u1, u2} α β) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))) (Finsupp.{u1, max u4 u2} α (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) + forall {α : Type.{u1}} {β : Type.{u2}} (R : Type.{u3}) {M : Type.{u4}} [_inst_9 : Semiring.{u3} R] [_inst_10 : AddCommMonoid.{u4} M] [_inst_11 : Module.{u3, u4} R M _inst_9 _inst_10], LinearEquiv.{u3, u3, max u4 u2 u1, max (max u4 u2) u1} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{max u2 u1, u4} (Prod.{u1, u2} α β) M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))) (Finsupp.{u1, max u4 u2} α (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))) (Finsupp.zero.{u2, u4} β M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) Case conversion may be inaccurate. Consider using '#align finsupp.finsupp_prod_lequiv Finsupp.finsuppProdLEquivₓ'. -/ /-- The linear equivalence between `α × β →₀ M` and `α →₀ β →₀ M`. @@ -1682,9 +1682,9 @@ noncomputable def finsuppProdLEquiv {α β : Type _} (R : Type _) {M : Type _} [ /- warning: finsupp.finsupp_prod_lequiv_apply -> Finsupp.finsuppProdLEquiv_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} [_inst_9 : Semiring.{u3} R] [_inst_10 : AddCommMonoid.{u4} M] [_inst_11 : Module.{u3, u4} R M _inst_9 _inst_10] (f : Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (x : α) (y : β), Eq.{succ u4} M (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (fun (_x : Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) => β -> M) (Finsupp.hasCoeToFun.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (coeFn.{max (succ u1) (succ (max u2 u4)), max (succ u1) (succ (max u2 u4))} (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (fun (_x : Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) => α -> (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.hasCoeToFun.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (coeFn.{max (succ (max (max u1 u2) u4)) (succ (max u1 u2 u4)), max (succ (max (max u1 u2) u4)) (succ (max u1 u2 u4))} (LinearEquiv.{u3, u3, max (max u1 u2) u4, max u1 u2 u4} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11))) (fun (_x : LinearEquiv.{u3, u3, max (max u1 u2) u4, max u1 u2 u4} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11))) => (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) -> (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))))) (LinearEquiv.hasCoeToFun.{u3, u3, max (max u1 u2) u4, max u1 u2 u4} R R (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9)) (Finsupp.finsuppProdLEquiv.{u1, u2, u3, u4} α β R M _inst_9 _inst_10 _inst_11) f) x) y) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (fun (_x : Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) => (Prod.{u1, u2} α β) -> M) (Finsupp.hasCoeToFun.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) f (Prod.mk.{u1, u2} α β x y)) + forall {α : Type.{u1}} {β : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} [_inst_9 : Semiring.{u3} R] [_inst_10 : AddCommMonoid.{u4} M] [_inst_11 : Module.{u3, u4} R M _inst_9 _inst_10] (f : Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (x : α) (y : β), Eq.{succ u4} M (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (fun (_x : Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) => β -> M) (Finsupp.coeFun.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (coeFn.{max (succ u1) (succ (max u2 u4)), max (succ u1) (succ (max u2 u4))} (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (fun (_x : Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) => α -> (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.coeFun.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (coeFn.{max (succ (max (max u1 u2) u4)) (succ (max u1 u2 u4)), max (succ (max (max u1 u2) u4)) (succ (max u1 u2 u4))} (LinearEquiv.{u3, u3, max (max u1 u2) u4, max u1 u2 u4} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11))) (fun (_x : LinearEquiv.{u3, u3, max (max u1 u2) u4, max u1 u2 u4} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11))) => (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) -> (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))))) (LinearEquiv.hasCoeToFun.{u3, u3, max (max u1 u2) u4, max u1 u2 u4} R R (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9)) (Finsupp.finsuppProdLEquiv.{u1, u2, u3, u4} α β R M _inst_9 _inst_10 _inst_11) f) x) y) (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (fun (_x : Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) => (Prod.{u1, u2} α β) -> M) (Finsupp.coeFun.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) f (Prod.mk.{u1, u2} α β x y)) but is expected to have type - forall {α : Type.{u4}} {β : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} [_inst_9 : Semiring.{u2} R] [_inst_10 : AddCommMonoid.{u1} M] [_inst_11 : Module.{u2, u1} R M _inst_9 _inst_10] (f : Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (x : α) (y : β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) y) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (FunLike.coe.{max (succ u4) (succ (max u3 u1)), succ u4, succ (max u3 u1)} (Finsupp.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _x) (Finsupp.funLike.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (max (succ u1) (succ u3)) (succ u4), max (max (succ u1) (succ u3)) (succ u4)} (LinearEquiv.{u2, u2, max u1 u3 u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (fun (_x : Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) => Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u4, u2, max (max u1 u3) u4, max (max u1 u3) u4} (LinearEquiv.{u2, u2, max u1 u3 u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (SMulZeroClass.toSMul.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddMonoid.toZero.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddMonoid.toAddZeroClass.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10)) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11))))) (SMulZeroClass.toSMul.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddMonoid.toZero.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddMonoid.toAddZeroClass.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10))) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u4, u2, max (max u1 u3) u4, max (max u1 u3) u4} (LinearEquiv.{u2, u2, max u1 u3 u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10))) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u3) u4, max (max u1 u3) u4, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (LinearEquiv.{u2, u2, max u1 u3 u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4, max (max u1 u3) u4} R R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (LinearEquiv.{u2, u2, max u1 u3 u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9)))))) (Finsupp.finsuppProdLEquiv.{u4, u3, u2, u1} α β R M _inst_9 _inst_10 _inst_11) f) x) y) (FunLike.coe.{max (succ (max u4 u3)) (succ u1), succ (max u4 u3), succ u1} (Finsupp.{max u4 u3, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Prod.{u4, u3} α β) (fun (_x : Prod.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) f (Prod.mk.{u4, u3} α β x y)) + forall {α : Type.{u4}} {β : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} [_inst_9 : Semiring.{u2} R] [_inst_10 : AddCommMonoid.{u1} M] [_inst_11 : Module.{u2, u1} R M _inst_9 _inst_10] (f : Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (x : α) (y : β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) y) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (FunLike.coe.{max (succ u4) (succ (max u3 u1)), succ u4, succ (max u3 u1)} (Finsupp.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _x) (Finsupp.funLike.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (max (succ u1) (succ u3)) (succ u4), max (max (succ u1) (succ u3)) (succ u4)} (LinearEquiv.{u2, u2, max u1 u3 u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (fun (_x : Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) => Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u4, u2, max (max u1 u3) u4, max (max u1 u3) u4} (LinearEquiv.{u2, u2, max u1 u3 u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (SMulZeroClass.toSMul.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddMonoid.toZero.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddMonoid.toAddZeroClass.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10)) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11))))) (SMulZeroClass.toSMul.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddMonoid.toZero.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddMonoid.toAddZeroClass.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10))) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u4, u2, max (max u1 u3) u4, max (max u1 u3) u4} (LinearEquiv.{u2, u2, max u1 u3 u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10))) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u3) u4, max (max u1 u3) u4, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (LinearEquiv.{u2, u2, max u1 u3 u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4, max (max u1 u3) u4} R R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (LinearEquiv.{u2, u2, max u1 u3 u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9)))))) (Finsupp.finsuppProdLEquiv.{u4, u3, u2, u1} α β R M _inst_9 _inst_10 _inst_11) f) x) y) (FunLike.coe.{max (succ (max u4 u3)) (succ u1), succ (max u4 u3), succ u1} (Finsupp.{max u4 u3, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Prod.{u4, u3} α β) (fun (_x : Prod.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) f (Prod.mk.{u4, u3} α β x y)) Case conversion may be inaccurate. Consider using '#align finsupp.finsupp_prod_lequiv_apply Finsupp.finsuppProdLEquiv_applyₓ'. -/ @[simp] theorem finsuppProdLEquiv_apply {α β R M : Type _} [Semiring R] [AddCommMonoid M] [Module R M] @@ -1694,9 +1694,9 @@ theorem finsuppProdLEquiv_apply {α β R M : Type _} [Semiring R] [AddCommMonoid /- warning: finsupp.finsupp_prod_lequiv_symm_apply -> Finsupp.finsuppProdLEquiv_symm_apply is a dubious translation: lean 3 declaration is - forall {α : Type.{u1}} {β : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} [_inst_9 : Semiring.{u3} R] [_inst_10 : AddCommMonoid.{u4} M] [_inst_11 : Module.{u3, u4} R M _inst_9 _inst_10] (f : Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (xy : Prod.{u1, u2} α β), Eq.{succ u4} M (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (fun (_x : Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) => (Prod.{u1, u2} α β) -> M) (Finsupp.hasCoeToFun.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (coeFn.{max (succ (max u1 u2 u4)) (succ (max (max u1 u2) u4)), max (succ (max u1 u2 u4)) (succ (max (max u1 u2) u4))} (LinearEquiv.{u3, u3, max u1 u2 u4, max (max u1 u2) u4} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11)) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u4, max (max u1 u2) u4} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11)) => (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) -> (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u4, max (max u1 u2) u4} R R (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9)) (LinearEquiv.symm.{u3, u3, max (max u1 u2) u4, max u1 u2 u4} R R (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.finsuppProdLEquiv.{u1, u2, u3, u4} α β R M _inst_9 _inst_10 _inst_11)) f) xy) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (fun (_x : Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) => β -> M) (Finsupp.hasCoeToFun.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (coeFn.{max (succ u1) (succ (max u2 u4)), max (succ u1) (succ (max u2 u4))} (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (fun (_x : Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) => α -> (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.hasCoeToFun.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.hasZero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) f (Prod.fst.{u1, u2} α β xy)) (Prod.snd.{u1, u2} α β xy)) + forall {α : Type.{u1}} {β : Type.{u2}} {R : Type.{u3}} {M : Type.{u4}} [_inst_9 : Semiring.{u3} R] [_inst_10 : AddCommMonoid.{u4} M] [_inst_11 : Module.{u3, u4} R M _inst_9 _inst_10] (f : Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (xy : Prod.{u1, u2} α β), Eq.{succ u4} M (coeFn.{max (succ (max u1 u2)) (succ u4), max (succ (max u1 u2)) (succ u4)} (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (fun (_x : Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) => (Prod.{u1, u2} α β) -> M) (Finsupp.coeFun.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (coeFn.{max (succ (max u1 u2 u4)) (succ (max (max u1 u2) u4)), max (succ (max u1 u2 u4)) (succ (max (max u1 u2) u4))} (LinearEquiv.{u3, u3, max u1 u2 u4, max (max u1 u2) u4} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11)) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u4, max (max u1 u2) u4} R R _inst_9 _inst_9 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11)) => (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) -> (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u4, max (max u1 u2) u4} R R (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9)) (LinearEquiv.symm.{u3, u3, max (max u1 u2) u4, max u1 u2 u4} R R (Finsupp.{max u1 u2, u4} (Prod.{u1, u2} α β) M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{max u1 u2, u4} (Prod.{u1, u2} α β) M _inst_10) (Finsupp.addCommMonoid.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.addCommMonoid.{u2, u4} β M _inst_10)) (Finsupp.module.{max u1 u2, u4, u3} (Prod.{u1, u2} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u1, max u2 u4, u3} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) R _inst_9 (Finsupp.addCommMonoid.{u2, u4} β M _inst_10) (Finsupp.module.{u2, u4, u3} β M R _inst_9 _inst_10 _inst_11)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_9)) (RingHomInvPair.ids.{u3} R _inst_9) (RingHomInvPair.ids.{u3} R _inst_9) (Finsupp.finsuppProdLEquiv.{u1, u2, u3, u4} α β R M _inst_9 _inst_10 _inst_11)) f) xy) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (fun (_x : Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) => β -> M) (Finsupp.coeFun.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (coeFn.{max (succ u1) (succ (max u2 u4)), max (succ u1) (succ (max u2 u4))} (Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (fun (_x : Finsupp.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) => α -> (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) (Finsupp.coeFun.{u1, max u2 u4} α (Finsupp.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10)))) (Finsupp.zero.{u2, u4} β M (AddZeroClass.toHasZero.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_10))))) f (Prod.fst.{u1, u2} α β xy)) (Prod.snd.{u1, u2} α β xy)) but is expected to have type - forall {α : Type.{u4}} {β : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} [_inst_9 : Semiring.{u2} R] [_inst_10 : AddCommMonoid.{u1} M] [_inst_11 : Module.{u2, u1} R M _inst_9 _inst_10] (f : Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (xy : Prod.{u4, u3} α β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u4, u3} α β) => M) xy) (FunLike.coe.{max (succ (max u4 u3)) (succ u1), succ (max u4 u3), succ u1} (Finsupp.{max u4 u3, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Prod.{u4, u3} α β) (fun (_x : Prod.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (max (succ u1) (succ u3)) (succ u4), max (max (succ u1) (succ u3)) (succ u4)} (LinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (fun (_x : Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) => Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u4, u2, max (max u1 u3) u4, max (max u1 u3) u4} (LinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (SMulZeroClass.toSMul.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddMonoid.toZero.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddMonoid.toAddZeroClass.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10))) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)))))) (SMulZeroClass.toSMul.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddMonoid.toZero.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddMonoid.toAddZeroClass.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10)) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u4, u2, max (max u1 u3) u4, max (max u1 u3) u4} (LinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10)) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u3) u4, max (max u1 u3) u4, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (LinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4, max (max u1 u3) u4} R R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (LinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) _inst_9 _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9)))))) (LinearEquiv.symm.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.finsuppProdLEquiv.{u4, u3, u2, u1} α β R M _inst_9 _inst_10 _inst_11)) f) xy) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (FunLike.coe.{max (succ u4) (succ (max u3 u1)), succ u4, succ (max u3 u1)} (Finsupp.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _x) (Finsupp.funLike.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) f (Prod.fst.{u4, u3} α β xy)) (Prod.snd.{u4, u3} α β xy)) + forall {α : Type.{u4}} {β : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} [_inst_9 : Semiring.{u2} R] [_inst_10 : AddCommMonoid.{u1} M] [_inst_11 : Module.{u2, u1} R M _inst_9 _inst_10] (f : Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (xy : Prod.{u4, u3} α β), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u4, u3} α β) => M) xy) (FunLike.coe.{max (succ (max u4 u3)) (succ u1), succ (max u4 u3), succ u1} (Finsupp.{max u4 u3, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Prod.{u4, u3} α β) (fun (_x : Prod.{u4, u3} α β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u4, u3} α β) => M) _x) (Finsupp.funLike.{max u4 u3, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (max (succ u1) (succ u3)) (succ u4), max (max (succ u1) (succ u3)) (succ u4)} (LinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (fun (_x : Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) => Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u4, u2, max (max u1 u3) u4, max (max u1 u3) u4} (LinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (SMulZeroClass.toSMul.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddMonoid.toZero.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddMonoid.toAddZeroClass.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10))) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)))))) (SMulZeroClass.toSMul.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddMonoid.toZero.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddMonoid.toAddZeroClass.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10)) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u4, u2, max (max u1 u3) u4, max (max u1 u3) u4} (LinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_9)) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10))) (AddCommMonoid.toAddMonoid.{max (max u1 u3) u4} (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10)) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11))) (Module.toDistribMulAction.{u2, max (max u1 u3) u4} R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u3) u4, max (max u1 u3) u4, max (max u1 u3) u4} R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (LinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4, max (max u1 u3) u4} R R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (LinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R _inst_9 _inst_9 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11)) _inst_9 _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9)))))) (LinearEquiv.symm.{u2, u2, max (max u1 u3) u4, max (max u1 u3) u4} R R (Finsupp.{max u3 u4, u1} (Prod.{u4, u3} α β) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.{u4, max u1 u3} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) _inst_9 _inst_9 (Finsupp.addCommMonoid.{max u4 u3, u1} (Prod.{u4, u3} α β) M _inst_10) (Finsupp.addCommMonoid.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.addCommMonoid.{u3, u1} β M _inst_10)) (Finsupp.module.{max u4 u3, u1, u2} (Prod.{u4, u3} α β) M R _inst_9 _inst_10 _inst_11) (Finsupp.module.{u4, max u3 u1, u2} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) R _inst_9 (Finsupp.addCommMonoid.{u3, u1} β M _inst_10) (Finsupp.module.{u3, u1, u2} β M R _inst_9 _inst_10 _inst_11)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_9)) (RingHomInvPair.ids.{u2} R _inst_9) (RingHomInvPair.ids.{u2} R _inst_9) (Finsupp.finsuppProdLEquiv.{u4, u3, u2, u1} α β R M _inst_9 _inst_10 _inst_11)) f) xy) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) β (fun (_x : β) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : β) => M) _x) (Finsupp.funLike.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (FunLike.coe.{max (succ u4) (succ (max u3 u1)), succ u4, succ (max u3 u1)} (Finsupp.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) α (fun (_x : α) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : α) => Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) _x) (Finsupp.funLike.{u4, max u3 u1} α (Finsupp.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10))) (Finsupp.zero.{u3, u1} β M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_10)))) f (Prod.fst.{u4, u3} α β xy)) (Prod.snd.{u4, u3} α β xy)) Case conversion may be inaccurate. Consider using '#align finsupp.finsupp_prod_lequiv_symm_apply Finsupp.finsuppProdLEquiv_symm_applyₓ'. -/ @[simp] theorem finsuppProdLEquiv_symm_apply {α β R M : Type _} [Semiring R] [AddCommMonoid M] [Module R M] @@ -1775,7 +1775,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.6178 : 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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => R) (fun (i : α) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.6178 : 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.6178 : α -> 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.13977 : α) => 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.13977 : α) => 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.6178 : α -> 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.13977 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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.13977 : α) => 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.6178 : α -> 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.13977 : α) => 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.13977 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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.6178 : 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.6178 : 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.6178 : α -> 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.13977 : α) => 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.13977 : α) => 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.6178 : α -> 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.13977 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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.13977 : α) => 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.6178 : α -> 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.13977 : α) => 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.13977 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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 := @@ -1791,7 +1791,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.427 : α) => 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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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.427 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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.13977 : α) => 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.6178 : α -> 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.13977 : α) => 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.13977 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.427 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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.13977 : α) => 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.6178 : α -> 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.13977 : α) => 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.13977 : α) => 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.13977 : α) => 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.13977 : α) => 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.13965 : α) => 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.13977 : α) => 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 = @@ -1877,7 +1877,7 @@ irreducible_def Span.repr (w : Set M) (x : span R w) : w →₀ 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] {w : Set.{u2} M} (x : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 w)), Eq.{succ u2} M (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ (max u2 u1)) (succ u2)} (LinearMap.{u1, u1, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.addCommMonoid.{u2, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) 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 u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.addCommMonoid.{u2, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) 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) => (Finsupp.{u2, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u2 u1, u2} R R (Finsupp.{u2, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) 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))) (Finsupp.total.{u2, u2, u1} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) M R _inst_1 _inst_2 _inst_3 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) w) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x w))))))) (Span.repr.{u1, u2} R M _inst_1 _inst_2 _inst_3 w x)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 w)) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 w)) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 w)) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 w)) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 w)))))) x) 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] {w : Set.{u2} M} (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 w))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) (Span.repr.{u1, u2} R M _inst_1 _inst_2 _inst_3 w x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M w) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} (Set.Elem.{u2} M w) 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) (Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u2, u2} R R (Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M w) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} (Set.Elem.{u2} M w) 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))) (Finsupp.total.{u2, u2, u1} (Set.Elem.{u2} M w) M R _inst_1 _inst_2 _inst_3 (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x w))) (Span.repr.{u1, u2} R M _inst_1 _inst_2 _inst_3 w x)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 w))) x) + 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] {w : Set.{u2} M} (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 w))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) (Span.repr.{u1, u2} R M _inst_1 _inst_2 _inst_3 w x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M w) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} (Set.Elem.{u2} M w) 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) (Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u2, u2} R R (Finsupp.{u2, u1} (Set.Elem.{u2} M w) R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} (Set.Elem.{u2} M w) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} (Set.Elem.{u2} M w) 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))) (Finsupp.total.{u2, u2, u1} (Set.Elem.{u2} M w) M R _inst_1 _inst_2 _inst_3 (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x w))) (Span.repr.{u1, u2} R M _inst_1 _inst_2 _inst_3 w x)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_3 w))) x) Case conversion may be inaccurate. Consider using '#align span.finsupp_total_repr Span.finsupp_total_reprₓ'. -/ @[simp] theorem Span.finsupp_total_repr {w : Set M} (x : span R w) : @@ -1891,7 +1891,7 @@ end /- warning: submodule.finsupp_sum_mem -> Submodule.finsupp_sum_mem is a dubious translation: 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}} {β : Type.{u4}} [_inst_6 : Zero.{u4} β] (S : Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (f : Finsupp.{u3, u4} ι β _inst_6) (g : ι -> β -> M), (forall (c : ι), (Ne.{succ u4} β (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (Finsupp.{u3, u4} ι β _inst_6) (fun (_x : Finsupp.{u3, u4} ι β _inst_6) => ι -> β) (Finsupp.hasCoeToFun.{u3, u4} ι β _inst_6) f c) (OfNat.ofNat.{u4} β 0 (OfNat.mk.{u4} β 0 (Zero.zero.{u4} β _inst_6)))) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (g c (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (Finsupp.{u3, u4} ι β _inst_6) (fun (_x : Finsupp.{u3, u4} ι β _inst_6) => ι -> β) (Finsupp.hasCoeToFun.{u3, u4} ι β _inst_6) f c)) S)) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Finsupp.sum.{u3, u4, u2} ι β M _inst_6 _inst_2 f g) S) + 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}} {β : Type.{u4}} [_inst_6 : Zero.{u4} β] (S : Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (f : Finsupp.{u3, u4} ι β _inst_6) (g : ι -> β -> M), (forall (c : ι), (Ne.{succ u4} β (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (Finsupp.{u3, u4} ι β _inst_6) (fun (_x : Finsupp.{u3, u4} ι β _inst_6) => ι -> β) (Finsupp.coeFun.{u3, u4} ι β _inst_6) f c) (OfNat.ofNat.{u4} β 0 (OfNat.mk.{u4} β 0 (Zero.zero.{u4} β _inst_6)))) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (g c (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (Finsupp.{u3, u4} ι β _inst_6) (fun (_x : Finsupp.{u3, u4} ι β _inst_6) => ι -> β) (Finsupp.coeFun.{u3, u4} ι β _inst_6) f c)) S)) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Finsupp.sum.{u3, u4, u2} ι β M _inst_6 _inst_2 f g) 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.{u4}} {β : Type.{u3}} [_inst_6 : Zero.{u3} β] (S : Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (f : Finsupp.{u4, u3} ι β _inst_6) (g : ι -> β -> M), (forall (c : ι), (Ne.{succ u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => β) c) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Finsupp.{u4, u3} ι β _inst_6) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => β) _x) (Finsupp.funLike.{u4, u3} ι β _inst_6) f c) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => β) c) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => β) c) _inst_6))) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (g c (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Finsupp.{u4, u3} ι β _inst_6) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => β) _x) (Finsupp.funLike.{u4, u3} ι β _inst_6) f c)) S)) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (Finsupp.sum.{u4, u3, u1} ι β M _inst_6 _inst_2 f g) S) Case conversion may be inaccurate. Consider using '#align submodule.finsupp_sum_mem Submodule.finsupp_sum_memₓ'. -/ @@ -1904,7 +1904,7 @@ protected theorem Submodule.finsupp_sum_mem {ι β : Type _} [Zero β] (S : Subm lean 3 declaration is forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u3} N] [_inst_5 : Module.{u1, u3} R N _inst_1 _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M N _inst_2 _inst_4 _inst_3 _inst_5) {ι : Type.{u4}} {g : ι -> M} (l : Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))), Eq.{succ u3} N (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M N _inst_2 _inst_4 _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M N _inst_2 _inst_4 _inst_3 _inst_5) => M -> N) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M N _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f (coeFn.{max (succ (max u4 u1)) (succ u2), max (succ (max u4 u1)) (succ u2)} (LinearMap.{u1, u1, max u4 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u4, 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 u4 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u4, 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) => (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u4 u1, u2} R R (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u4, 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))) (Finsupp.total.{u4, u2, u1} ι M R _inst_1 _inst_2 _inst_3 g) l)) (coeFn.{max (succ (max u4 u1)) (succ u3), max (succ (max u4 u1)) (succ u3)} (LinearMap.{u1, u1, max u4 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) N (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_4 (Finsupp.module.{u4, 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_5) (fun (_x : LinearMap.{u1, u1, max u4 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) N (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_4 (Finsupp.module.{u4, 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_5) => (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) -> N) (LinearMap.hasCoeToFun.{u1, u1, max u4 u1, u3} R R (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_4 (Finsupp.module.{u4, 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_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u4, u3, u1} ι N R _inst_1 _inst_4 _inst_5 (Function.comp.{succ u4, succ u2, succ u3} ι M N (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M N _inst_2 _inst_4 _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M N _inst_2 _inst_4 _inst_3 _inst_5) => M -> N) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M N _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f) g)) l) but is expected to have type - forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u2}} [_inst_1 : Semiring.{u4} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u4, u3} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u2} N] [_inst_5 : Module.{u4, u2} R N _inst_1 _inst_4] (f : LinearMap.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_2 _inst_4 _inst_3 _inst_5) {ι : Type.{u1}} {g : ι -> M} (l : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u1), max (succ u4) (succ u1), succ u3} (LinearMap.{u4, u4, max u4 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι 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_3) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (fun (a : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => M) a) (LinearMap.instFunLikeLinearMap.{u4, u4, max u4 u1, u3} R R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι 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_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Finsupp.total.{u1, u3, u4} ι M R _inst_1 _inst_2 _inst_3 g) l)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_2 _inst_4 _inst_3 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M N _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) f (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u1), max (succ u4) (succ u1), succ u3} (LinearMap.{u4, u4, max u4 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι 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_3) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (fun (_x : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u4 u1, u3} R R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι 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_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Finsupp.total.{u1, u3, u4} ι M R _inst_1 _inst_2 _inst_3 g) l)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (LinearMap.{u4, u4, max u4 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) N (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι 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_5) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (fun (_x : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => N) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u4 u1, u2} R R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_4 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u4, u4} ι 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_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Finsupp.total.{u1, u2, u4} ι N R _inst_1 _inst_4 _inst_5 (Function.comp.{succ u1, succ u3, succ u2} ι M N (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_2 _inst_4 _inst_3 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M N _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) f) g)) l) + forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u2}} [_inst_1 : Semiring.{u4} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u4, u3} R M _inst_1 _inst_2] [_inst_4 : AddCommMonoid.{u2} N] [_inst_5 : Module.{u4, u2} R N _inst_1 _inst_4] (f : LinearMap.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_2 _inst_4 _inst_3 _inst_5) {ι : Type.{u1}} {g : ι -> M} (l : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u1), max (succ u4) (succ u1), succ u3} (LinearMap.{u4, u4, max u4 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u4, u4} ι 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_3) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (fun (a : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => M) a) (LinearMap.instFunLikeLinearMap.{u4, u4, max u4 u1, u3} R R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u4, u4} ι 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_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Finsupp.total.{u1, u3, u4} ι M R _inst_1 _inst_2 _inst_3 g) l)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_2 _inst_4 _inst_3 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M N _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) f (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u1), max (succ u4) (succ u1), succ u3} (LinearMap.{u4, u4, max u4 u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u4, u4} ι 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_3) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (fun (_x : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u4 u1, u3} R R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u4, u4} ι 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_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Finsupp.total.{u1, u3, u4} ι M R _inst_1 _inst_2 _inst_3 g) l)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u1), max (succ u4) (succ u1), succ u2} (LinearMap.{u4, u4, max u4 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) N (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_4 (Finsupp.module.{u1, u4, u4} ι 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_5) (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) (fun (_x : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) => N) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, max u4 u1, u2} R R (Finsupp.{u1, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1))) N _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)))) _inst_4 (Finsupp.module.{u1, u4, u4} ι 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_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (Finsupp.total.{u1, u2, u4} ι N R _inst_1 _inst_4 _inst_5 (Function.comp.{succ u1, succ u3, succ u2} ι M N (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) M N _inst_2 _inst_4 _inst_3 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M N _inst_1 _inst_1 _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) f) g)) l) Case conversion may be inaccurate. Consider using '#align linear_map.map_finsupp_total LinearMap.map_finsupp_totalₓ'. -/ theorem LinearMap.map_finsupp_total (f : M →ₗ[R] N) {ι : Type _} {g : ι → M} (l : ι →₀ R) : f (Finsupp.total ι M R g l) = Finsupp.total ι N R (f ∘ g) l := by @@ -1978,7 +1978,7 @@ theorem mem_span_set {m : M} {s : Set M} : lean 3 declaration is forall (R : Type.{u1}) (M : Type.{u2}) (ι : Type.{u3}) [_inst_6 : Semiring.{u1} R] [_inst_7 : Subsingleton.{succ u1} R] [_inst_8 : AddCommMonoid.{u2} M] [_inst_9 : Module.{u1, u2} R M _inst_6 _inst_8], LinearEquiv.{u1, u1, u2, max u3 u1} R R _inst_6 _inst_6 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6)) (RingHomInvPair.ids.{u1} R _inst_6) (RingHomInvPair.ids.{u1} R _inst_6) M (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6))))) _inst_8 (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6)))) _inst_9 (Finsupp.module.{u3, u1, u1} ι R R _inst_6 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6))) (Semiring.toModule.{u1} R _inst_6)) but is expected to have type - forall (R : Type.{u1}) (M : Type.{u2}) (ι : Type.{u3}) [_inst_6 : Semiring.{u1} R] [_inst_7 : Subsingleton.{succ u1} R] [_inst_8 : AddCommMonoid.{u2} M] [_inst_9 : Module.{u1, u2} R M _inst_6 _inst_8], LinearEquiv.{u1, u1, u2, max u1 u3} R R _inst_6 _inst_6 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6)) (RingHomInvPair.ids.{u1} R _inst_6) (RingHomInvPair.ids.{u1} R _inst_6) M (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_6))) _inst_8 (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6)))) _inst_9 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R _inst_6 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6))) (Semiring.toModule.{u1} R _inst_6)) + forall (R : Type.{u1}) (M : Type.{u2}) (ι : Type.{u3}) [_inst_6 : Semiring.{u1} R] [_inst_7 : Subsingleton.{succ u1} R] [_inst_8 : AddCommMonoid.{u2} M] [_inst_9 : Module.{u1, u2} R M _inst_6 _inst_8], LinearEquiv.{u1, u1, u2, max u1 u3} R R _inst_6 _inst_6 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6)) (RingHomInvPair.ids.{u1} R _inst_6) (RingHomInvPair.ids.{u1} R _inst_6) M (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_6))) _inst_8 (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6)))) _inst_9 (Finsupp.module.{u3, u1, u1} ι R R _inst_6 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6))) (Semiring.toModule.{u1} R _inst_6)) Case conversion may be inaccurate. Consider using '#align module.subsingleton_equiv Module.subsingletonEquivₓ'. -/ /-- If `subsingleton R`, then `M ≃ₗ[R] ι →₀ R` for any type `ι`. -/ @[simps] @@ -2004,7 +2004,7 @@ open Finsupp Function 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}} (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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))), (Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max 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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) (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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{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)) (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)) (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{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_2 (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_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}} (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 (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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 u1) (succ u3)} M (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (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 (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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 (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u1 u3} R R M (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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) + 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}} (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 (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (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))), (Function.Surjective.{succ u2, max (succ u1) (succ u3)} M (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (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 (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u1 u3} R R M (Finsupp.{u3, u1} α R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (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)) (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_2 (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_3) Case conversion may be inaccurate. Consider using '#align linear_map.splitting_of_finsupp_surjective LinearMap.splittingOfFinsuppSurjectiveₓ'. -/ -- See also `linear_map.splitting_of_fun_on_fintype_surjective` /-- A surjective linear map to finitely supported functions has a splitting. -/ @@ -2016,7 +2016,7 @@ def splittingOfFinsuppSurjective (f : M →ₗ[R] α →₀ R) (s : Surjective f 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}} (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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max 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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) (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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{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)) (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)) (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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)) (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))) (LinearMap.comp.{u1, u1, u1, max u3 u1, u2, max u3 u1} R R R (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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_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)) (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.splittingOfFinsuppSurjective.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 α f s)) (LinearMap.id.{u1, max u3 u1} R (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 (Finsupp.addCommMonoid.{u3, u1} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (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))) but is expected to have type - forall {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {α : Type.{u1}} (f : LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u2, max (succ u3) (succ u1)} (LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, max u3 u1} R R M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f)), Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u3, max u3 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (LinearMap.comp.{u3, u3, u3, max u3 u1, u2, max u3 u1} R R R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f (LinearMap.splittingOfFinsuppSurjective.{u3, u2, u1} R M _inst_1 _inst_2 _inst_3 α f s)) (LinearMap.id.{u3, max u3 u1} R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) + forall {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {α : Type.{u1}} (f : LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u2, max (succ u3) (succ u1)} (LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, max u3 u1} R R M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f)), Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u3, max u3 u1, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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)) (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))) (LinearMap.comp.{u3, u3, u3, max u3 u1, u2, max u3 u1} R R R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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_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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomCompTriple.ids.{u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f (LinearMap.splittingOfFinsuppSurjective.{u3, u2, u1} R M _inst_1 _inst_2 _inst_3 α f s)) (LinearMap.id.{u3, max u3 u1} R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) (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))) Case conversion may be inaccurate. Consider using '#align linear_map.splitting_of_finsupp_surjective_splits LinearMap.splittingOfFinsuppSurjective_splitsₓ'. -/ theorem splittingOfFinsuppSurjective_splits (f : M →ₗ[R] α →₀ R) (s : Surjective f) : f.comp (splittingOfFinsuppSurjective f s) = LinearMap.id := @@ -2033,7 +2033,7 @@ theorem splittingOfFinsuppSurjective_splits (f : M →ₗ[R] α →₀ R) (s : 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}} (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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max 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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) (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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f)), Function.LeftInverse.{max (succ u3) (succ u1), succ u2} (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) 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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) (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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{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)) (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)) (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{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_2 (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_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)) (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{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_2 (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_3) => (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{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_2 (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_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.splittingOfFinsuppSurjective.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 α f s)) but is expected to have type - forall {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {α : Type.{u1}} (f : LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u2, max (succ u3) (succ u1)} (LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, max u3 u1} R R M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f)), Function.LeftInverse.{max (succ u3) (succ u1), succ u2} (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u2, max (succ u3) (succ u1)} (LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, max u3 u1} R R M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), succ u2} (LinearMap.{u3, u3, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (fun (_x : Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u3 u1, u2} R R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.splittingOfFinsuppSurjective.{u3, u2, u1} R M _inst_1 _inst_2 _inst_3 α f s)) + forall {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {α : Type.{u1}} (f : LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u2, max (succ u3) (succ u1)} (LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, max u3 u1} R R M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f)), Function.LeftInverse.{max (succ u3) (succ u1), succ u2} (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u2, max (succ u3) (succ u1)} (LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, max u3 u1} R R M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), succ u2} (LinearMap.{u3, u3, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (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_3) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (fun (_x : Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u3 u1, u2} R R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (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_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.splittingOfFinsuppSurjective.{u3, u2, u1} R M _inst_1 _inst_2 _inst_3 α f s)) Case conversion may be inaccurate. Consider using '#align linear_map.left_inverse_splitting_of_finsupp_surjective LinearMap.leftInverse_splittingOfFinsuppSurjectiveₓ'. -/ theorem leftInverse_splittingOfFinsuppSurjective (f : M →ₗ[R] α →₀ R) (s : Surjective f) : LeftInverse f (splittingOfFinsuppSurjective f s) := fun g => @@ -2044,7 +2044,7 @@ theorem leftInverse_splittingOfFinsuppSurjective (f : M →ₗ[R] α →₀ 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}} (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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ (max 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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) (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 (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_2 (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))) => M -> (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u1} R R M (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{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)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f)), Function.Injective.{max (succ u3) (succ u1), succ u2} (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) 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)) (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{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_2 (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_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)) (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{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_2 (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_3) => (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (Finsupp.{u3, u1} α R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{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_2 (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_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.splittingOfFinsuppSurjective.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 α f s)) but is expected to have type - forall {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {α : Type.{u1}} (f : LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u2, max (succ u3) (succ u1)} (LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, max u3 u1} R R M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (Finsupp.addCommMonoid.{u1, u3} α R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)))) _inst_3 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f)), Function.Injective.{max (succ u3) (succ u1), succ u2} (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), succ u2} (LinearMap.{u3, u3, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (fun (_x : Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u3 u1, u2} R R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.splittingOfFinsuppSurjective.{u3, u2, u1} R M _inst_1 _inst_2 _inst_3 α f s)) + forall {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] {α : Type.{u1}} (f : LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) (s : Function.Surjective.{succ u2, max (succ u3) (succ u1)} M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u2, max (succ u3) (succ u1)} (LinearMap.{u3, u3, u2, max u3 u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_2 (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))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, max u3 u1} R R M (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) _inst_1 _inst_1 _inst_2 (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)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) f)), Function.Injective.{max (succ u3) (succ u1), succ u2} (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) M (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), succ u2} (LinearMap.{u3, u3, max u3 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (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_3) (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) (fun (_x : Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, max u3 u1, u2} R R (Finsupp.{u1, u3} α R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{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_2 (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_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (LinearMap.splittingOfFinsuppSurjective.{u3, u2, u1} R M _inst_1 _inst_2 _inst_3 α f s)) Case conversion may be inaccurate. Consider using '#align linear_map.splitting_of_finsupp_surjective_injective LinearMap.splittingOfFinsuppSurjective_injectiveₓ'. -/ theorem splittingOfFinsuppSurjective_injective (f : M →ₗ[R] α →₀ R) (s : Surjective f) : Injective (splittingOfFinsuppSurjective f s) := diff --git a/Mathbin/LinearAlgebra/LinearIndependent.lean b/Mathbin/LinearAlgebra/LinearIndependent.lean index 85be0bf0dc..862ff3e7f7 100644 --- a/Mathbin/LinearAlgebra/LinearIndependent.lean +++ b/Mathbin/LinearAlgebra/LinearIndependent.lean @@ -114,9 +114,9 @@ variable {R} {v} /- warning: linear_independent_iff -> linearIndependent_iff is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_5 : Module.{u2, u3} R M _inst_1 _inst_2], Iff (LinearIndependent.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5) (forall (l : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), (Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) => (Finsupp.{u1, u2} ι 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 u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u3, u2} ι M R _inst_1 _inst_2 _inst_5 v) l) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))))))) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) l (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.hasZero.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))))) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_5 : Module.{u2, u3} R M _inst_1 _inst_2], Iff (LinearIndependent.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5) (forall (l : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), (Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) => (Finsupp.{u1, u2} ι 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 u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u3, u2} ι M R _inst_1 _inst_2 _inst_5 v) l) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))))))) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) l (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.zero.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_1 _inst_2], Iff (LinearIndependent.{u3, u2, u1} ι R M v _inst_1 _inst_2 _inst_5) (forall (l : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_5) (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.6178 : 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_5 v) l) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) _inst_2))))) -> (Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) l (OfNat.ofNat.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) 0 (Zero.toOfNat0.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.zero.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))))))) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_1 _inst_2], Iff (LinearIndependent.{u3, u2, u1} ι R M v _inst_1 _inst_2 _inst_5) (forall (l : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))), (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), 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_2 (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_5) (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.6178 : 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_2 (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_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_5 v) l) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) _inst_2))))) -> (Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) l (OfNat.ofNat.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) 0 (Zero.toOfNat0.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.zero.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))))))) Case conversion may be inaccurate. Consider using '#align linear_independent_iff linearIndependent_iffₓ'. -/ theorem linearIndependent_iff : LinearIndependent R v ↔ ∀ l, Finsupp.total ι M R v l = 0 → l = 0 := by simp [LinearIndependent, LinearMap.ker_eq_bot'] @@ -506,9 +506,9 @@ section Subtype /- warning: linear_independent_comp_subtype -> linearIndependent_comp_subtype is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_5 : Module.{u2, u3} R M _inst_1 _inst_2] {s : Set.{u1} ι}, Iff (LinearIndependent.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) R M (Function.comp.{succ u1, succ u1, succ u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι M v ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeSubtype.{succ u1} ι (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x s))))))) _inst_1 _inst_2 _inst_5) (forall (l : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Submodule.setLike.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) l (Finsupp.supported.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1) s)) -> (Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) => (Finsupp.{u1, u2} ι 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 u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u3, u2} ι M R _inst_1 _inst_2 _inst_5 v) l) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))))))) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) l (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.hasZero.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))))) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_5 : Module.{u2, u3} R M _inst_1 _inst_2] {s : Set.{u1} ι}, Iff (LinearIndependent.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) R M (Function.comp.{succ u1, succ u1, succ u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι M v ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeSubtype.{succ u1} ι (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x s))))))) _inst_1 _inst_2 _inst_5) (forall (l : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))), (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Submodule.setLike.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) l (Finsupp.supported.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1) s)) -> (Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) => (Finsupp.{u1, u2} ι 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 u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u3, u2} ι M R _inst_1 _inst_2 _inst_5 v) l) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))))))) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) l (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.zero.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_1 _inst_2] {s : Set.{u3} ι}, Iff (LinearIndependent.{u3, u2, u1} (Set.Elem.{u3} ι s) R M (Function.comp.{succ u3, succ u3, succ u1} (Set.Elem.{u3} ι s) ι M v (Subtype.val.{succ u3} ι (fun (x : ι) => Membership.mem.{u3, u3} ι (Set.{u3} ι) (Set.instMembershipSet.{u3} ι) x s))) _inst_1 _inst_2 _inst_5) (forall (l : 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_1)))))), (Membership.mem.{max u3 u2, max u2 u3} (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_1)))))) (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (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_1)))))) (Submodule.instSetLikeSubmodule.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))) l (Finsupp.supported.{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) s)) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_5) (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.6178 : 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_5 v) l) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) _inst_2))))) -> (Eq.{max (succ u3) (succ 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_1)))))) l (OfNat.ofNat.{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_1)))))) 0 (Zero.toOfNat0.{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_1)))))) (Finsupp.zero.{u3, u2} ι R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))))) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_1 _inst_2] {s : Set.{u3} ι}, Iff (LinearIndependent.{u3, u2, u1} (Set.Elem.{u3} ι s) R M (Function.comp.{succ u3, succ u3, succ u1} (Set.Elem.{u3} ι s) ι M v (Subtype.val.{succ u3} ι (fun (x : ι) => Membership.mem.{u3, u3} ι (Set.{u3} ι) (Set.instMembershipSet.{u3} ι) x s))) _inst_1 _inst_2 _inst_5) (forall (l : 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_1)))))), (Membership.mem.{max u3 u2, max u2 u3} (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_1)))))) (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (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_1)))))) (Submodule.instSetLikeSubmodule.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))) l (Finsupp.supported.{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) s)) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), 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_2 (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_5) (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.6178 : 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_2 (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_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_5 v) l) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) l) _inst_2))))) -> (Eq.{max (succ u3) (succ 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_1)))))) l (OfNat.ofNat.{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_1)))))) 0 (Zero.toOfNat0.{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_1)))))) (Finsupp.zero.{u3, u2} ι R (AddMonoid.toZero.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))))) Case conversion may be inaccurate. Consider using '#align linear_independent_comp_subtype linearIndependent_comp_subtypeₓ'. -/ theorem linearIndependent_comp_subtype {s : Set ι} : LinearIndependent R (v ∘ coe : s → M) ↔ @@ -531,9 +531,9 @@ theorem linearIndependent_comp_subtype {s : Set ι} : /- warning: linear_dependent_comp_subtype' -> linearDependent_comp_subtype' is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_5 : Module.{u2, u3} R M _inst_1 _inst_2] {s : Set.{u1} ι}, Iff (Not (LinearIndependent.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) R M (Function.comp.{succ u1, succ u1, succ u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι M v ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeSubtype.{succ u1} ι (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x s))))))) _inst_1 _inst_2 _inst_5)) (Exists.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (f : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => And (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Submodule.setLike.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) f (Finsupp.supported.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1) s)) (And (Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) => (Finsupp.{u1, u2} ι 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 u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u3, u2} ι M R _inst_1 _inst_2 _inst_5 v) f) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))))))) (Ne.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.hasZero.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))))))) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_5 : Module.{u2, u3} R M _inst_1 _inst_2] {s : Set.{u1} ι}, Iff (Not (LinearIndependent.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) R M (Function.comp.{succ u1, succ u1, succ u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι M v ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeSubtype.{succ u1} ι (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x s))))))) _inst_1 _inst_2 _inst_5)) (Exists.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (f : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => And (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Submodule.setLike.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) f (Finsupp.supported.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1) s)) (And (Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) => (Finsupp.{u1, u2} ι 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 u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u3, u2} ι M R _inst_1 _inst_2 _inst_5 v) f) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))))))) (Ne.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.zero.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))))))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_1 _inst_2] {s : Set.{u3} ι}, Iff (Not (LinearIndependent.{u3, u2, u1} (Set.Elem.{u3} ι s) R M (Function.comp.{succ u3, succ u3, succ u1} (Set.Elem.{u3} ι s) ι M v (Subtype.val.{succ u3} ι (fun (x : ι) => Membership.mem.{u3, u3} ι (Set.{u3} ι) (Set.instMembershipSet.{u3} ι) x s))) _inst_1 _inst_2 _inst_5)) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (f : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => And (Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (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_1)))))) (Submodule.instSetLikeSubmodule.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))) f (Finsupp.supported.{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) s)) (And (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_5) (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.6178 : 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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_5 v) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) _inst_2))))) (Ne.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) f (OfNat.ofNat.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) 0 (Zero.toOfNat0.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.zero.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))))))))) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_1 _inst_2] {s : Set.{u3} ι}, Iff (Not (LinearIndependent.{u3, u2, u1} (Set.Elem.{u3} ι s) R M (Function.comp.{succ u3, succ u3, succ u1} (Set.Elem.{u3} ι s) ι M v (Subtype.val.{succ u3} ι (fun (x : ι) => Membership.mem.{u3, u3} ι (Set.{u3} ι) (Set.instMembershipSet.{u3} ι) x s))) _inst_1 _inst_2 _inst_5)) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (f : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => And (Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (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_1)))))) (Submodule.instSetLikeSubmodule.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))) f (Finsupp.supported.{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) s)) (And (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), 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_2 (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_5) (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.6178 : 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_2 (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_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_5 v) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => M) f) _inst_2))))) (Ne.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) f (OfNat.ofNat.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) 0 (Zero.toOfNat0.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.zero.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))))))))) Case conversion may be inaccurate. Consider using '#align linear_dependent_comp_subtype' linearDependent_comp_subtype'ₓ'. -/ theorem linearDependent_comp_subtype' {s : Set ι} : ¬LinearIndependent R (v ∘ coe : s → M) ↔ @@ -543,9 +543,9 @@ theorem linearDependent_comp_subtype' {s : Set ι} : /- warning: linear_dependent_comp_subtype -> linearDependent_comp_subtype is a dubious translation: lean 3 declaration is - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_5 : Module.{u2, u3} R M _inst_1 _inst_2] {s : Set.{u1} ι}, Iff (Not (LinearIndependent.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) R M (Function.comp.{succ u1, succ u1, succ u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι M v ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeSubtype.{succ u1} ι (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x s))))))) _inst_1 _inst_2 _inst_5)) (Exists.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (f : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => And (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Submodule.setLike.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) f (Finsupp.supported.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1) s)) (And (Eq.{succ u3} M (Finset.sum.{u3, u1} M ι _inst_2 (Finsupp.support.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) f) (fun (i : ι) => SMul.smul.{u2, u3} R M (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_5)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.hasCoeToFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) f i) (v i))) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))))))) (Ne.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.hasZero.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))))))) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_5 : Module.{u2, u3} R M _inst_1 _inst_2] {s : Set.{u1} ι}, Iff (Not (LinearIndependent.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) R M (Function.comp.{succ u1, succ u1, succ u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι M v ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeSubtype.{succ u1} ι (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x s))))))) _inst_1 _inst_2 _inst_5)) (Exists.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (f : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => And (Membership.Mem.{max u1 u2, max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Submodule.setLike.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) f (Finsupp.supported.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1) s)) (And (Eq.{succ u3} M (Finset.sum.{u3, u1} M ι _inst_2 (Finsupp.support.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) f) (fun (i : ι) => SMul.smul.{u2, u3} R M (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_5)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (fun (_x : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) => ι -> R) (Finsupp.coeFun.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) f i) (v i))) (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))))))) (Ne.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) f (OfNat.ofNat.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (OfNat.mk.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) 0 (Zero.zero.{max u1 u2} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) (Finsupp.zero.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))))))))))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_1 _inst_2] {s : Set.{u3} ι}, Iff (Not (LinearIndependent.{u3, u2, u1} (Set.Elem.{u3} ι s) R M (Function.comp.{succ u3, succ u3, succ u1} (Set.Elem.{u3} ι s) ι M v (Subtype.val.{succ u3} ι (fun (x : ι) => Membership.mem.{u3, u3} ι (Set.{u3} ι) (Set.instMembershipSet.{u3} ι) x s))) _inst_1 _inst_2 _inst_5)) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (f : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => And (Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (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_1)))))) (Submodule.instSetLikeSubmodule.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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)))) f (Finsupp.supported.{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) s)) (And (Eq.{succ u1} M (Finset.sum.{u1, u3} M ι _inst_2 (Finsupp.support.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) f) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M M (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M _inst_1 _inst_2 _inst_5))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) f i) (v i))) (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2))))) (Ne.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) f (OfNat.ofNat.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) 0 (Zero.toOfNat0.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.zero.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))))))))) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_1 _inst_2] {s : Set.{u3} ι}, Iff (Not (LinearIndependent.{u3, u2, u1} (Set.Elem.{u3} ι s) R M (Function.comp.{succ u3, succ u3, succ u1} (Set.Elem.{u3} ι s) ι M v (Subtype.val.{succ u3} ι (fun (x : ι) => Membership.mem.{u3, u3} ι (Set.{u3} ι) (Set.instMembershipSet.{u3} ι) x s))) _inst_1 _inst_2 _inst_5)) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (fun (f : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) => And (Membership.mem.{max u3 u2, max u2 u3} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (SetLike.instMembership.{max u3 u2, max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (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_1)))))) (Submodule.instSetLikeSubmodule.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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)))) f (Finsupp.supported.{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) s)) (And (Eq.{succ u1} M (Finset.sum.{u1, u3} M ι _inst_2 (Finsupp.support.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) f) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M M (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) M _inst_1 _inst_2 _inst_5))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) f i) (v i))) (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2))))) (Ne.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) f (OfNat.ofNat.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) 0 (Zero.toOfNat0.{max u3 u2} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))) (Finsupp.zero.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1))))))))) Case conversion may be inaccurate. Consider using '#align linear_dependent_comp_subtype linearDependent_comp_subtypeₓ'. -/ /-- A version of `linear_dependent_comp_subtype'` with `finsupp.total` unfolded. -/ theorem linearDependent_comp_subtype {s : Set ι} : @@ -556,9 +556,9 @@ theorem linearDependent_comp_subtype {s : Set ι} : /- warning: linear_independent_subtype -> linearIndependent_subtype is a dubious translation: lean 3 declaration is - forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_1 _inst_2] {s : Set.{u2} M}, Iff (LinearIndependent.{u2, u1, u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) R M (fun (x : coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x s))))) x) _inst_1 _inst_2 _inst_5) (forall (l : Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))), (Membership.Mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (Submodule.setLike.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) l (Finsupp.supported.{u2, u1, u1} M 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)) -> (Eq.{succ u2} M (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ (max u2 u1)) (succ u2)} (LinearMap.{u1, u1, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5) (fun (_x : LinearMap.{u1, u1, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5) => (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u2 u1, u2} R R (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u2, u1} M M R _inst_1 _inst_2 _inst_5 (id.{succ u2} M)) l) (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_2))))))) -> (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) l (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) 0 (OfNat.mk.{max u2 u1} (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) 0 (Zero.zero.{max u2 u1} (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Finsupp.hasZero.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))))) + forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_1 _inst_2] {s : Set.{u2} M}, Iff (LinearIndependent.{u2, u1, u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) R M (fun (x : coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x s))))) x) _inst_1 _inst_2 _inst_5) (forall (l : Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))), (Membership.Mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (Submodule.setLike.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) l (Finsupp.supported.{u2, u1, u1} M 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)) -> (Eq.{succ u2} M (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ (max u2 u1)) (succ u2)} (LinearMap.{u1, u1, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5) (fun (_x : LinearMap.{u1, u1, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5) => (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) -> M) (LinearMap.hasCoeToFun.{u1, u1, max u2 u1, u2} R R (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u2, u1} M M R _inst_1 _inst_2 _inst_5 (id.{succ u2} M)) l) (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_2))))))) -> (Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) l (OfNat.ofNat.{max u2 u1} (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) 0 (OfNat.mk.{max u2 u1} (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) 0 (Zero.zero.{max u2 u1} (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (Finsupp.zero.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))))) but is expected to have type - forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_1 _inst_2] {s : Set.{u2} M}, Iff (LinearIndependent.{u2, u1, u2} (Set.Elem.{u2} M s) R M (fun (x : Set.Elem.{u2} M s) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s) x) _inst_1 _inst_2 _inst_5) (forall (l : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))), (Membership.mem.{max u1 u2, max u1 u2} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) l (Finsupp.supported.{u2, u1, u1} M 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)) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M 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_5) (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u2, u2} R R (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M 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_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u2, u1} M M R _inst_1 _inst_2 _inst_5 (id.{succ u2} M)) l) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) _inst_2))))) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) l (OfNat.ofNat.{max u1 u2} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) 0 (Zero.toOfNat0.{max u1 u2} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Finsupp.zero.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))))) + forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_1 _inst_2] {s : Set.{u2} M}, Iff (LinearIndependent.{u2, u1, u2} (Set.Elem.{u2} M s) R M (fun (x : Set.Elem.{u2} M s) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s) x) _inst_1 _inst_2 _inst_5) (forall (l : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))), (Membership.mem.{max u1 u2, max u1 u2} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) l (Finsupp.supported.{u2, u1, u1} M 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)) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5) (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) (fun (_x : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u2, u2} R R (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u2, u1} M M R _inst_1 _inst_2 _inst_5 (id.{succ u2} M)) l) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) => M) l) _inst_2))))) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) l (OfNat.ofNat.{max u1 u2} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) 0 (Zero.toOfNat0.{max u1 u2} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Finsupp.zero.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))))) Case conversion may be inaccurate. Consider using '#align linear_independent_subtype linearIndependent_subtypeₓ'. -/ theorem linearIndependent_subtype {s : Set M} : LinearIndependent R (fun x => x : s → M) ↔ @@ -570,7 +570,7 @@ theorem linearIndependent_subtype {s : Set M} : lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_5 : Module.{u2, u3} R M _inst_1 _inst_2] {s : Set.{u1} ι}, Iff (LinearIndependent.{u1, u2, u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) R M (Function.comp.{succ u1, succ u1, succ u3} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι M v ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} ι) Type.{u1} (Set.hasCoeToSort.{u1} ι) s) ι (coeSubtype.{succ u1} ι (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x s))))))) _inst_1 _inst_2 _inst_5) (Disjoint.{max u1 u2} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (SetLike.partialOrder.{max u1 u2, max u1 u2} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) (Submodule.setLike.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) (Submodule.orderBot.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (Finsupp.supported.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1) s) (LinearMap.ker.{u2, u2, max u1 u2, u3, max (max u1 u2) u3} R R (Finsupp.{u1, u2} ι R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddCommMonoid.toAddMonoid.{u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (LinearMap.{u2, u2, max u1 u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5) (LinearMap.semilinearMapClass.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι 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.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) _inst_2 (Finsupp.module.{u1, u2, u2} ι R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u1, u3, u2} ι M R _inst_1 _inst_2 _inst_5 v))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_1 _inst_2] {s : Set.{u3} ι}, Iff (LinearIndependent.{u3, u2, u1} (Set.Elem.{u3} ι s) R M (Function.comp.{succ u3, succ u3, succ u1} (Set.Elem.{u3} ι s) ι M v (Subtype.val.{succ u3} ι (fun (x : ι) => Membership.mem.{u3, u3} ι (Set.{u3} ι) (Set.instMembershipSet.{u3} ι) x s))) _inst_1 _inst_2 _inst_5) (Disjoint.{max u2 u3} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Submodule.completeLattice.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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))) (Finsupp.supported.{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) s) (LinearMap.ker.{u2, u2, max u3 u2, u1, max (max u3 u2) u1} 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_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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_5) (LinearMap.instSemilinearMapClassLinearMap.{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_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{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_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_5 v))) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_5 : Module.{u2, u1} R M _inst_1 _inst_2] {s : Set.{u3} ι}, Iff (LinearIndependent.{u3, u2, u1} (Set.Elem.{u3} ι s) R M (Function.comp.{succ u3, succ u3, succ u1} (Set.Elem.{u3} ι s) ι M v (Subtype.val.{succ u3} ι (fun (x : ι) => Membership.mem.{u3, u3} ι (Set.{u3} ι) (Set.instMembershipSet.{u3} ι) x s))) _inst_1 _inst_2 _inst_5) (Disjoint.{max u2 u3} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (OmegaCompletePartialOrder.toPartialOrder.{max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (CompleteLattice.instOmegaCompletePartialOrder.{max u3 u2} (Submodule.{u2, max u2 u3} 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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (Submodule.completeLattice.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{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_1)))))) _inst_1 (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))) (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))) (Finsupp.supported.{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) s) (LinearMap.ker.{u2, u2, max u3 u2, u1, max (max u3 u2) u1} 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_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_2 (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_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (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_2 (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_5) (LinearMap.instSemilinearMapClassLinearMap.{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_2 (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_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Finsupp.total.{u3, u1, u2} ι M R _inst_1 _inst_2 _inst_5 v))) Case conversion may be inaccurate. Consider using '#align linear_independent_comp_subtype_disjoint linearIndependent_comp_subtype_disjointₓ'. -/ theorem linearIndependent_comp_subtype_disjoint {s : Set ι} : LinearIndependent R (v ∘ coe : s → M) ↔ @@ -582,7 +582,7 @@ theorem linearIndependent_comp_subtype_disjoint {s : Set ι} : lean 3 declaration is forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_1 _inst_2] {s : Set.{u2} M}, Iff (LinearIndependent.{u2, u1, u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) R M (fun (x : coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x s))))) x) _inst_1 _inst_2 _inst_5) (Disjoint.{max u2 u1} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.partialOrder.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (Submodule.setLike.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Submodule.orderBot.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.supported.{u2, u1, u1} M 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) (LinearMap.ker.{u1, u1, max u2 u1, u2, max u2 u1} R R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5) (LinearMap.semilinearMapClass.{u1, u1, max u2 u1, u2} R R (Finsupp.{u2, u1} M R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u2, u1} M M R _inst_1 _inst_2 _inst_5 (id.{succ u2} M)))) but is expected to have type - forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_1 _inst_2] {s : Set.{u2} M}, Iff (LinearIndependent.{u2, u1, u2} (Set.Elem.{u2} M s) R M (fun (x : Set.Elem.{u2} M s) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s) x) _inst_1 _inst_2 _inst_5) (Disjoint.{max u1 u2} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{max u1 u2} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{max u1 u2} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Submodule.completeLattice.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.supported.{u2, u1, u1} M 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) (LinearMap.ker.{u1, u1, max u1 u2, u2, max u1 u2} R R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M 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_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M 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_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u1 u2, u2} R R (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M 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_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u2, u1} M M R _inst_1 _inst_2 _inst_5 (id.{succ u2} M)))) + forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_1 _inst_2] {s : Set.{u2} M}, Iff (LinearIndependent.{u2, u1, u2} (Set.Elem.{u2} M s) R M (fun (x : Set.Elem.{u2} M s) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s) x) _inst_1 _inst_2 _inst_5) (Disjoint.{max u1 u2} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{max u1 u2} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{max u1 u2} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Submodule.completeLattice.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.supported.{u2, u1, u1} M 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) (LinearMap.ker.{u1, u1, max u1 u2, u2, max u1 u2} R R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u1 u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u1 u2, u2} R R (Finsupp.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))) M _inst_1 _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) _inst_2 (Finsupp.module.{u2, u1, u1} M 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_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.total.{u2, u2, u1} M M R _inst_1 _inst_2 _inst_5 (id.{succ u2} M)))) Case conversion may be inaccurate. Consider using '#align linear_independent_subtype_disjoint linearIndependent_subtype_disjointₓ'. -/ theorem linearIndependent_subtype_disjoint {s : Set M} : LinearIndependent R (fun x => x : s → M) ↔ @@ -594,7 +594,7 @@ theorem linearIndependent_subtype_disjoint {s : Set M} : lean 3 declaration is forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_1 _inst_2] {s : Set.{u2} M}, Iff (LinearIndependent.{u2, u1, u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) R M (fun (x : coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x s))))) x) _inst_1 _inst_2 _inst_5) (Eq.{succ (max u2 u1)} (Submodule.{u1, max u2 u1} R (coeSort.{succ (max u2 u1), succ (succ (max u2 u1))} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) Type.{max u2 u1} (SetLike.hasCoeToSort.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (Submodule.setLike.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Finsupp.supported.{u2, u1, u1} M 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)) _inst_1 (Submodule.addCommMonoid.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.module.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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))) (LinearMap.ker.{u1, u1, max u2 u1, u2, max u2 u1} R R (coeSort.{succ (max u2 u1), succ (succ (max u2 u1))} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) Type.{max u2 u1} (SetLike.hasCoeToSort.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (Submodule.setLike.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Finsupp.supported.{u2, u1, u1} M 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)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_5)) (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) _inst_1 _inst_1 (Submodule.addCommMonoid.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (Submodule.module.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.module.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (coeSort.{succ (max u2 u1), succ (succ (max u2 u1))} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) Type.{max u2 u1} (SetLike.hasCoeToSort.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (Submodule.setLike.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Finsupp.supported.{u2, u1, u1} M 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)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_5)) (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (Submodule.addCommMonoid.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (Submodule.module.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.module.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s)))) (LinearMap.semilinearMapClass.{u1, u1, max u2 u1, u2} R R (coeSort.{succ (max u2 u1), succ (succ (max u2 u1))} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) Type.{max u2 u1} (SetLike.hasCoeToSort.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (Submodule.setLike.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Finsupp.supported.{u2, u1, u1} M 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)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_5)) (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) _inst_1 _inst_1 (Submodule.addCommMonoid.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (Submodule.module.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.module.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.totalOn.{u2, u2, u1} M M R _inst_1 _inst_2 _inst_5 (id.{succ u2} M) s)) (Bot.bot.{max u2 u1} (Submodule.{u1, max u2 u1} R (coeSort.{succ (max u2 u1), succ (succ (max u2 u1))} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) Type.{max u2 u1} (SetLike.hasCoeToSort.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (Submodule.setLike.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Finsupp.supported.{u2, u1, u1} M 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)) _inst_1 (Submodule.addCommMonoid.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.module.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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))) (Submodule.hasBot.{u1, max u2 u1} R (coeSort.{succ (max u2 u1), succ (succ (max u2 u1))} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) Type.{max u2 u1} (SetLike.hasCoeToSort.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (Submodule.setLike.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Finsupp.supported.{u2, u1, u1} M 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)) _inst_1 (Submodule.addCommMonoid.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.module.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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))))) but is expected to have type - forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_1 _inst_2] {s : Set.{u2} M}, Iff (LinearIndependent.{u2, u1, u2} (Set.Elem.{u2} M s) R M (fun (x : Set.Elem.{u2} M s) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s) x) _inst_1 _inst_2 _inst_5) (Eq.{max (succ u1) (succ u2)} (Submodule.{u1, max u1 u2} R (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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))) (LinearMap.ker.{u1, u1, max u1 u2, u2, max u1 u2} R R (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s)))) _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s)))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u1 u2, u2} R R (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s)))) _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.totalOn.{u2, u2, u1} M M R _inst_1 _inst_2 _inst_5 (id.{succ u2} M) s)) (Bot.bot.{max u1 u2} (Submodule.{u1, max u1 u2} R (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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))) (Submodule.instBotSubmodule.{u1, max u1 u2} R (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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))))) + forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_5 : Module.{u1, u2} R M _inst_1 _inst_2] {s : Set.{u2} M}, Iff (LinearIndependent.{u2, u1, u2} (Set.Elem.{u2} M s) R M (fun (x : Set.Elem.{u2} M s) => Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s) x) _inst_1 _inst_2 _inst_5) (Eq.{max (succ u1) (succ u2)} (Submodule.{u1, max u1 u2} R (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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))) (LinearMap.ker.{u1, u1, max u1 u2, u2, max u1 u2} R R (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s)))) _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, max u2 u1, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s)))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u1 u2, u2} R R (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5)) x (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s)))) _inst_1 _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Submodule.span.{u1, u2} R M _inst_1 _inst_2 _inst_5 (Set.image.{u2, u2} M M (id.{succ u2} M) s))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Finsupp.totalOn.{u2, u2, u1} M M R _inst_1 _inst_2 _inst_5 (id.{succ u2} M) s)) (Bot.bot.{max u1 u2} (Submodule.{u1, max u1 u2} R (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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))) (Submodule.instBotSubmodule.{u1, max u1 u2} R (Subtype.{succ (max u2 u1)} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (fun (x : Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) => Membership.mem.{max u2 u1, max u2 u1} (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (SetLike.instMembership.{max u2 u1, max u2 u1} (Submodule.{u1, max u1 u2} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Submodule.instSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) x (Finsupp.supported.{u2, u1, u1} M 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))) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, max u2 u1} R (Finsupp.{u2, u1} M R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) _inst_1 (Finsupp.addCommMonoid.{u2, u1} M R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Finsupp.module.{u2, u1, u1} M R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Finsupp.supported.{u2, u1, u1} M 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))))) Case conversion may be inaccurate. Consider using '#align linear_independent_iff_total_on linearIndependent_iff_totalOnₓ'. -/ theorem linearIndependent_iff_totalOn {s : Set M} : LinearIndependent R (fun x => x : s → M) ↔ (Finsupp.totalOn M M R id s).ker = ⊥ := by @@ -700,7 +700,7 @@ variable {a b : R} {x y : M} lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)], Iff (LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) (Function.Injective.{max (succ u1) (succ u2), succ u3} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) => (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) -> M) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 v))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Iff (LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (Function.Injective.{max (succ u3) (succ u2), succ u1} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{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 (Ring.toSemiring.{u2} R _inst_1)))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u3, u1, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 v))) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Iff (LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (Function.Injective.{max (succ u3) (succ u2), succ u1} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{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 (Ring.toSemiring.{u2} R _inst_1)))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u3, u1, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 v))) Case conversion may be inaccurate. Consider using '#align linear_independent_iff_injective_total linearIndependent_iff_injective_totalₓ'. -/ theorem linearIndependent_iff_injective_total : LinearIndependent R v ↔ Function.Injective (Finsupp.total ι M R v) := @@ -712,7 +712,7 @@ theorem linearIndependent_iff_injective_total : lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)], (LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) -> (Function.Injective.{max (succ u1) (succ u2), succ u3} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) => (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) -> M) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 v))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], (LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) -> (Function.Injective.{max (succ u3) (succ u2), succ u1} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{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 (Ring.toSemiring.{u2} R _inst_1)))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u3, u1, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 v))) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], (LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) -> (Function.Injective.{max (succ u3) (succ u2), succ u1} (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{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 (Ring.toSemiring.{u2} R _inst_1)))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u3, u1, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 v))) Case conversion may be inaccurate. Consider using '#align linear_independent.injective_total LinearIndependent.injective_totalₓ'. -/ alias linearIndependent_iff_injective_total ↔ LinearIndependent.injective_total _ #align linear_independent.injective_total LinearIndependent.injective_total @@ -945,7 +945,7 @@ theorem LinearIndependent.not_mem_span_image [Nontrivial R] (hv : LinearIndepend lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_8 : Nontrivial.{u2} R], (LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) -> (forall {x : ι} (f : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))), (Not (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) x (Finsupp.support.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) f))) -> (Ne.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) => (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) -> M) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 v) f) (v x))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_8 : Nontrivial.{u2} R], (LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) -> (forall {x : ι} (f : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))), (Not (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) x (Finsupp.support.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) f))) -> (Ne.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => M) f) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{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 (Ring.toSemiring.{u2} R _inst_1)))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u3, u1, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 v) f) (v x))) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_8 : Nontrivial.{u2} R], (LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) -> (forall {x : ι} (f : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))), (Not (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) x (Finsupp.support.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) f))) -> (Ne.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => M) f) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{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 (Ring.toSemiring.{u2} R _inst_1)))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u3, u1, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 v) f) (v x))) Case conversion may be inaccurate. Consider using '#align linear_independent.total_ne_of_not_mem_support LinearIndependent.total_ne_of_not_mem_supportₓ'. -/ theorem LinearIndependent.total_ne_of_not_mem_support [Nontrivial R] (hv : LinearIndependent R v) {x : ι} (f : ι →₀ R) (h : x ∉ f.support) : Finsupp.total ι M R v f ≠ v x := @@ -1096,7 +1096,7 @@ variable (hv : LinearIndependent R v) lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)], (LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) -> (LinearEquiv.{u2, u2, max u1 u2, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (LinearIndependent.totalEquiv._proof_1.{u2} R _inst_1) (LinearIndependent.totalEquiv._proof_2.{u2} R _inst_1) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v)))) but is expected to have type - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)], (LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) -> (LinearEquiv.{u2, u2, max u2 u1, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) x (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v)))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v)))) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)], (LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) -> (LinearEquiv.{u2, u2, max u2 u1, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) x (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v)))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v)))) Case conversion may be inaccurate. Consider using '#align linear_independent.total_equiv LinearIndependent.totalEquivₓ'. -/ /-- Canonical isomorphism between linear combinations and the span of linearly independent vectors. -/ @@ -1121,7 +1121,7 @@ def LinearIndependent.totalEquiv (hv : LinearIndependent R v) : (ι →₀ R) lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)], (LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) -> (LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) but is expected to have type - forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)], (LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) -> (LinearMap.{u2, u2, u3, max u2 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) x (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v)))) (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) + forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)], (LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) -> (LinearMap.{u2, u2, u3, max u2 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) x (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v)))) (Finsupp.{u1, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) Case conversion may be inaccurate. Consider using '#align linear_independent.repr LinearIndependent.reprₓ'. -/ /-- Linear combination representing a vector in the span of linearly independent vectors. @@ -1136,7 +1136,7 @@ def LinearIndependent.repr (hv : LinearIndependent R v) : span R (range v) → lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (hv : LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))), Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) => (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) -> M) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 v) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))))) (LinearMap.hasCoeToFun.{u2, u2, u3, max u1 u2} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5 hv) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) x (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))))))) x) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {v : ι -> M} [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_5 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (hv : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) => M) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), succ u2, max (succ u3) (succ u1)} (LinearMap.{u1, u1, u2, max u1 u3} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u1} R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (LinearIndependent.repr.{u3, u1, u2} ι R M v _inst_1 _inst_2 _inst_5 hv) x)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (LinearMap.{u1, u1, max u1 u3, u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) M (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) _inst_5) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (fun (_x : Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u1, u2} R R (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) M (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Finsupp.total.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 v) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), succ u2, max (succ u3) (succ u1)} (LinearMap.{u1, u1, u2, max u1 u3} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (fun (_x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u1} R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (LinearIndependent.repr.{u3, u1, u2} ι R M v _inst_1 _inst_2 _inst_5 hv) x)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) x) + forall {ι : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {v : ι -> M} [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_5 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (hv : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) => M) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), succ u2, max (succ u3) (succ u1)} (LinearMap.{u1, u1, u2, max u1 u3} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u1} R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (LinearIndependent.repr.{u3, u1, u2} ι R M v _inst_1 _inst_2 _inst_5 hv) x)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (LinearMap.{u1, u1, max u1 u3, u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) M (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) _inst_5) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (fun (_x : Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u3 u1, u2} R R (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) M (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Finsupp.total.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 v) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), succ u2, max (succ u3) (succ u1)} (LinearMap.{u1, u1, u2, max u1 u3} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (fun (_x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u1} R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (LinearIndependent.repr.{u3, u1, u2} ι R M v _inst_1 _inst_2 _inst_5 hv) x)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) x) Case conversion may be inaccurate. Consider using '#align linear_independent.total_repr LinearIndependent.total_reprₓ'. -/ @[simp] theorem LinearIndependent.total_repr (x) : Finsupp.total ι M R v (hv.repr x) = x := @@ -1147,7 +1147,7 @@ theorem LinearIndependent.total_repr (x) : Finsupp.total ι M R v (hv.repr x) = lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (hv : LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) _inst_5) (LinearMap.comp.{u2, u2, u2, u3, max u1 u2, u3} R R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomCompTriple.right_ids.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 v) (LinearIndependent.repr.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5 hv)) (Submodule.subtype.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {v : ι -> M} [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_5 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (hv : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) M (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) _inst_5) (LinearMap.comp.{u1, u1, u1, u2, max u3 u1, u2} R R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) M (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Finsupp.total.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 v) (LinearIndependent.repr.{u3, u1, u2} ι R M v _inst_1 _inst_2 _inst_5 hv)) (Submodule.subtype.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) + forall {ι : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {v : ι -> M} [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_5 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (hv : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) M (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) _inst_5) (LinearMap.comp.{u1, u1, u1, u2, max u3 u1, u2} R R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) M (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Finsupp.total.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 v) (LinearIndependent.repr.{u3, u1, u2} ι R M v _inst_1 _inst_2 _inst_5 hv)) (Submodule.subtype.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) Case conversion may be inaccurate. Consider using '#align linear_independent.total_comp_repr LinearIndependent.total_comp_reprₓ'. -/ theorem LinearIndependent.total_comp_repr : (Finsupp.total ι M R v).comp hv.repr = Submodule.subtype _ := @@ -1158,7 +1158,7 @@ theorem LinearIndependent.total_comp_repr : lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (hv : LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5), Eq.{succ u3} (Submodule.{u2, u3} R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v)))) (LinearMap.ker.{u2, u2, u3, max u1 u2, max u3 u1 u2} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearMap.semilinearMapClass.{u2, u2, u3, max u1 u2} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5 hv)) (Bot.bot.{u3} (Submodule.{u2, u3} R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v)))) (Submodule.hasBot.{u2, u3} R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {v : ι -> M} [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_5 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (hv : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5), Eq.{succ u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (LinearMap.ker.{u1, u1, u2, max u3 u1, max (max u3 u1) u2} R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, max u1 u3} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, max u3 u1} R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (LinearIndependent.repr.{u3, u1, u2} ι R M v _inst_1 _inst_2 _inst_5 hv)) (Bot.bot.{u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Submodule.instBotSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))))) + forall {ι : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {v : ι -> M} [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_5 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (hv : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5), Eq.{succ u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (LinearMap.ker.{u1, u1, u2, max u3 u1, max (max u3 u1) u2} R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, max u1 u3} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, max u3 u1} R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (LinearIndependent.repr.{u3, u1, u2} ι R M v _inst_1 _inst_2 _inst_5 hv)) (Bot.bot.{u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Submodule.instBotSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))))) Case conversion may be inaccurate. Consider using '#align linear_independent.repr_ker LinearIndependent.repr_kerₓ'. -/ theorem LinearIndependent.repr_ker : hv.repr.ker = ⊥ := by rw [LinearIndependent.repr, LinearEquiv.ker] @@ -1168,7 +1168,7 @@ theorem LinearIndependent.repr_ker : hv.repr.ker = ⊥ := by lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (hv : LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5), Eq.{succ (max u1 u2)} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearMap.range.{u2, u2, u3, max u1 u2, max u3 u1 u2} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearMap.semilinearMapClass.{u2, u2, u3, max u1 u2} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (RingHomSurjective.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearIndependent.repr.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5 hv)) (Top.top.{max u1 u2} (Submodule.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Submodule.hasTop.{u2, max u1 u2} R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (hv : LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5), Eq.{max (succ u3) (succ u2)} (Submodule.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (LinearMap.range.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (LinearMap.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, max u3 u2} R R (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (RingHomSurjective.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearIndependent.repr.{u3, u2, u1} ι R M v _inst_1 _inst_2 _inst_5 hv)) (Top.top.{max u3 u2} (Submodule.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (Submodule.instTopSubmodule.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)))) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (hv : LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5), Eq.{max (succ u3) (succ u2)} (Submodule.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (LinearMap.range.{u2, u2, u1, max u3 u2, max (max u3 u2) u1} R R (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (LinearMap.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, max u3 u2} R R (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (RingHomSurjective.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearIndependent.repr.{u3, u2, u1} ι R M v _inst_1 _inst_2 _inst_5 hv)) (Top.top.{max u3 u2} (Submodule.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (Submodule.instTopSubmodule.{u2, max u3 u2} R (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)))) Case conversion may be inaccurate. Consider using '#align linear_independent.repr_range LinearIndependent.repr_rangeₓ'. -/ theorem LinearIndependent.repr_range : hv.repr.range = ⊤ := by rw [LinearIndependent.repr, LinearEquiv.range] @@ -1178,7 +1178,7 @@ theorem LinearIndependent.repr_range : hv.repr.range = ⊤ := by lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (hv : LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) {l : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))} {x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))}, (Eq.{succ u3} M (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LinearMap.{u2, u2, max u1 u2, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (fun (_x : LinearMap.{u2, u2, max u1 u2, u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) => (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) -> M) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 v) l) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) x (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))))))) x)) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))))) (LinearMap.hasCoeToFun.{u2, u2, u3, max u1 u2} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5 hv) x) l) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (hv : LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) {l : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))} {x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => M) l) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{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 (Ring.toSemiring.{u2} R _inst_1)))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u3, u1, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 v) l) (Subtype.val.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) x)) -> (Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) x) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearMap.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u3 u2} R R (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u3, u2, u1} ι R M v _inst_1 _inst_2 _inst_5 hv) x) l) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (hv : LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) {l : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))} {x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => M) l) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) M (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{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 (Ring.toSemiring.{u2} R _inst_1)))) M (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) _inst_5 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Finsupp.total.{u3, u1, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 v) l) (Subtype.val.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Set.{u1} M) (Set.instMembershipSet.{u1} M) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) x)) -> (Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) x) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearMap.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u3 u2} R R (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u3, u2, u1} ι R M v _inst_1 _inst_2 _inst_5 hv) x) l) Case conversion may be inaccurate. Consider using '#align linear_independent.repr_eq LinearIndependent.repr_eqₓ'. -/ theorem LinearIndependent.repr_eq {l : ι →₀ R} {x} (eq : Finsupp.total ι M R v l = ↑x) : hv.repr x = l := @@ -1200,7 +1200,7 @@ theorem LinearIndependent.repr_eq {l : ι →₀ R} {x} (eq : Finsupp.total ι M lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (hv : LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))), (Eq.{succ u3} M ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) M (coeSubtype.{succ u3} M (fun (x : M) => Membership.Mem.{u3, u3} M (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) x (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))))))) x) (v i)) -> (Eq.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))))) (LinearMap.hasCoeToFun.{u2, u2, u3, max u1 u2} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5 hv) x) (Finsupp.single.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) i (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (NonAssocRing.toAddGroupWithOne.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))))))) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {v : ι -> M} [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_5 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (hv : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (i : ι) (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))), (Eq.{succ u2} M (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) x) (v i)) -> (Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) x) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), succ u2, max (succ u3) (succ u1)} (LinearMap.{u1, u1, u2, max u1 u3} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (fun (_x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u1} R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (LinearIndependent.repr.{u3, u1, u2} ι R M v _inst_1 _inst_2 _inst_5 hv) x) (Finsupp.single.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1))) i (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (Ring.toSemiring.{u1} R _inst_1)))))) + forall {ι : Type.{u3}} {R : Type.{u1}} {M : Type.{u2}} {v : ι -> M} [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_5 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (hv : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (i : ι) (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))), (Eq.{succ u2} M (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) x) (v i)) -> (Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) x) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), succ u2, max (succ u3) (succ u1)} (LinearMap.{u1, u1, u2, max u1 u3} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1))) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (fun (_x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) => Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u1} R R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5)) x (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v)))) (Finsupp.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 (Set.range.{u2, succ u3} M ι v))) (Finsupp.module.{u3, u1, u1} ι R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (LinearIndependent.repr.{u3, u1, u2} ι R M v _inst_1 _inst_2 _inst_5 hv) x) (Finsupp.single.{u3, u1} ι R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_1))) i (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (Ring.toSemiring.{u1} R _inst_1)))))) Case conversion may be inaccurate. Consider using '#align linear_independent.repr_eq_single LinearIndependent.repr_eq_singleₓ'. -/ theorem LinearIndependent.repr_eq_single (i) (x) (hx : ↑x = v i) : hv.repr x = Finsupp.single i 1 := by @@ -1212,7 +1212,7 @@ theorem LinearIndependent.repr_eq_single (i) (x) (hx : ↑x = v i) : hv.repr x = lean 3 declaration is forall {ι : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_5 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (hv : LinearIndependent.{u1, u2, u3} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) [_inst_8 : Nontrivial.{u2} R] (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι v)) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))) (Span.repr.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v) x) (Finsupp.equivMapDomain.{u1, u3, u2} ι (coeSort.{succ u3, succ (succ u3)} (Set.{u3} M) Type.{u3} (Set.hasCoeToSort.{u3} M) (Set.range.{u3, succ u1} M ι v)) R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Equiv.ofInjective.{succ u1, u3} ι M v (LinearIndependent.injective.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5 _inst_8 hv)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (fun (_x : LinearMap.{u2, u2, u3, max u1 u2} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) -> (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))))) (LinearMap.hasCoeToFun.{u2, u2, u3, max u1 u2} R R (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5) M (Submodule.setLike.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5)) (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.addCommMonoid.{u1, u2} ι R (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (Submodule.module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_5 (Set.range.{u3, succ u1} M ι v))) (Finsupp.module.{u1, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5 hv) x)) but is expected to have type - forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (hv : LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) [_inst_8 : Nontrivial.{u2} R] (x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))), Eq.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Set.Elem.{u1} M (Set.range.{u1, succ u3} M ι v)) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Span.repr.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v) x) (Finsupp.equivMapDomain.{u3, u1, u2} ι (Set.Elem.{u1} M (Set.range.{u1, succ u3} M ι v)) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Equiv.ofInjective.{succ u3, u1} ι M v (LinearIndependent.injective.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5 _inst_8 hv)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearMap.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u3 u2} R R (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.instModuleFinsuppToZeroToAddMonoidAddCommMonoid.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u3, u2, u1} ι R M v _inst_1 _inst_2 _inst_5 hv) x)) + forall {ι : Type.{u3}} {R : Type.{u2}} {M : Type.{u1}} {v : ι -> M} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_5 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (hv : LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) [_inst_8 : Nontrivial.{u2} R] (x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))), Eq.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Set.Elem.{u1} M (Set.range.{u1, succ u3} M ι v)) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Span.repr.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v) x) (Finsupp.equivMapDomain.{u3, u1, u2} ι (Set.Elem.{u1} M (Set.range.{u1, succ u3} M ι v)) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Equiv.ofInjective.{succ u3, u1} ι M v (LinearIndependent.injective.{u1, u2, u3} ι R M v _inst_1 _inst_2 _inst_5 _inst_8 hv)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (LinearMap.{u2, u2, u1, max u2 u3} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1))) (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (fun (_x : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) => Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, max u3 u2} R R (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5) M (Submodule.instSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5)) x (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v)))) (Finsupp.{u3, u2} ι R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.addCommMonoid.{u3, u2} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_5 (Set.range.{u1, succ u3} M ι v))) (Finsupp.module.{u3, u2, u2} ι R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1)))) (instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (LinearIndependent.repr.{u3, u2, u1} ι R M v _inst_1 _inst_2 _inst_5 hv) x)) Case conversion may be inaccurate. Consider using '#align linear_independent.span_repr_eq LinearIndependent.span_repr_eqₓ'. -/ theorem LinearIndependent.span_repr_eq [Nontrivial R] (x) : Span.repr R (Set.range v) x = (hv.repr x).equivMapDomain (Equiv.ofInjective _ hv.Injective) := diff --git a/Mathbin/Topology/Algebra/Group/Basic.lean b/Mathbin/Topology/Algebra/Group/Basic.lean index 45fba659e4..5f50afb68f 100644 --- a/Mathbin/Topology/Algebra/Group/Basic.lean +++ b/Mathbin/Topology/Algebra/Group/Basic.lean @@ -1381,7 +1381,7 @@ theorem ContinuousInv.of_nhds_one {G : Type _} [Group G] [TopologicalSpace G] lean 3 declaration is forall {G : Type.{u1}} [_inst_5 : Group.{u1} G] [_inst_6 : TopologicalSpace.{u1} G], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} G G) G (Function.uncurry.{u1, u1, u1} G G G (HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toHasMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))))) (Filter.prod.{u1, u1} G G (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))))))) -> (Filter.Tendsto.{u1, u1} G G (fun (x : G) => Inv.inv.{u1} G (DivInvMonoid.toHasInv.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5)) x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toHasMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x₀ x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5)))))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toHasMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x x₀) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5)))))))))) -> (TopologicalGroup.{u1} G _inst_6 _inst_5) but is expected to have type - forall {G : Type.{u1}} [_inst_5 : Group.{u1} G] [_inst_6 : TopologicalSpace.{u1} G], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} G G) G (Function.uncurry.{u1, u1, u1} G G G (fun (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.6927 : G) (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.6929 : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.6927 x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.6929)) (Filter.prod.{u1, u1} G G (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) -> (Filter.Tendsto.{u1, u1} G G (fun (x : G) => Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))) x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x₀ x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x x₀) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))))) -> (TopologicalGroup.{u1} G _inst_6 _inst_5) + forall {G : Type.{u1}} [_inst_5 : Group.{u1} G] [_inst_6 : TopologicalSpace.{u1} G], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} G G) G (Function.uncurry.{u1, u1, u1} G G G (fun (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7106 : G) (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7108 : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7106 x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7108)) (Filter.prod.{u1, u1} G G (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) -> (Filter.Tendsto.{u1, u1} G G (fun (x : G) => Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))) x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x₀ x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x x₀) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))))) -> (TopologicalGroup.{u1} G _inst_6 _inst_5) Case conversion may be inaccurate. Consider using '#align topological_group.of_nhds_one' TopologicalGroup.of_nhds_one'ₓ'. -/ @[to_additive] theorem TopologicalGroup.of_nhds_one' {G : Type u} [Group G] [TopologicalSpace G] @@ -1404,7 +1404,7 @@ theorem TopologicalGroup.of_nhds_one' {G : Type u} [Group G] [TopologicalSpace G lean 3 declaration is forall {G : Type.{u1}} [_inst_5 : Group.{u1} G] [_inst_6 : TopologicalSpace.{u1} G], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} G G) G (Function.uncurry.{u1, u1, u1} G G G (HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toHasMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))))) (Filter.prod.{u1, u1} G G (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))))))) -> (Filter.Tendsto.{u1, u1} G G (fun (x : G) => Inv.inv.{u1} G (DivInvMonoid.toHasInv.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5)) x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toHasMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x₀ x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5)))))))))) -> (forall (x₀ : G), Filter.Tendsto.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toHasMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) (HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toHasMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x₀ x) (Inv.inv.{u1} G (DivInvMonoid.toHasInv.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5)) x₀)) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))))))) -> (TopologicalGroup.{u1} G _inst_6 _inst_5) but is expected to have type - forall {G : Type.{u1}} [_inst_5 : Group.{u1} G] [_inst_6 : TopologicalSpace.{u1} G], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} G G) G (Function.uncurry.{u1, u1, u1} G G G (fun (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7215 : G) (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7217 : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7215 x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7217)) (Filter.prod.{u1, u1} G G (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) -> (Filter.Tendsto.{u1, u1} G G (fun (x : G) => Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))) x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x₀ x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))))) -> (forall (x₀ : G), Filter.Tendsto.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) (HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x₀ x) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))) x₀)) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) -> (TopologicalGroup.{u1} G _inst_6 _inst_5) + forall {G : Type.{u1}} [_inst_5 : Group.{u1} G] [_inst_6 : TopologicalSpace.{u1} G], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} G G) G (Function.uncurry.{u1, u1, u1} G G G (fun (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7394 : G) (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7396 : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7394 x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7396)) (Filter.prod.{u1, u1} G G (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) -> (Filter.Tendsto.{u1, u1} G G (fun (x : G) => Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))) x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x₀ x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))))) -> (forall (x₀ : G), Filter.Tendsto.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) (HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_5))))) x₀ x) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))) x₀)) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_5)))))))) -> (TopologicalGroup.{u1} G _inst_6 _inst_5) Case conversion may be inaccurate. Consider using '#align topological_group.of_nhds_one TopologicalGroup.of_nhds_oneₓ'. -/ @[to_additive] theorem TopologicalGroup.of_nhds_one {G : Type u} [Group G] [TopologicalSpace G] @@ -1430,7 +1430,7 @@ theorem TopologicalGroup.of_nhds_one {G : Type u} [Group G] [TopologicalSpace G] lean 3 declaration is forall {G : Type.{u1}} [_inst_5 : CommGroup.{u1} G] [_inst_6 : TopologicalSpace.{u1} G], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} G G) G (Function.uncurry.{u1, u1, u1} G G G (HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toHasMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5)))))))) (Filter.prod.{u1, u1} G G (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5))))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5)))))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5)))))))))) -> (Filter.Tendsto.{u1, u1} G G (fun (x : G) => Inv.inv.{u1} G (DivInvMonoid.toHasInv.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5))) x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5))))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5)))))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toHasMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5)))))) x₀ x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (OfNat.mk.{u1} G 1 (One.one.{u1} G (MulOneClass.toHasOne.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5))))))))))) -> (TopologicalGroup.{u1} G _inst_6 (CommGroup.toGroup.{u1} G _inst_5)) but is expected to have type - forall {G : Type.{u1}} [_inst_5 : CommGroup.{u1} G] [_inst_6 : TopologicalSpace.{u1} G], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} G G) G (Function.uncurry.{u1, u1, u1} G G G (fun (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7531 : G) (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7533 : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5)))))) x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7531 x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7533)) (Filter.prod.{u1, u1} G G (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5))))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5))))))))) -> (Filter.Tendsto.{u1, u1} G G (fun (x : G) => Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5))))) x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5))))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5)))))) x₀ x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5)))))))))) -> (TopologicalGroup.{u1} G _inst_6 (CommGroup.toGroup.{u1} G _inst_5)) + forall {G : Type.{u1}} [_inst_5 : CommGroup.{u1} G] [_inst_6 : TopologicalSpace.{u1} G], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} G G) G (Function.uncurry.{u1, u1, u1} G G G (fun (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7710 : G) (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7712 : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5)))))) x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7710 x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.7712)) (Filter.prod.{u1, u1} G G (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5))))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5))))))))) -> (Filter.Tendsto.{u1, u1} G G (fun (x : G) => Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5))))) x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5)))))))) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5))))))))) -> (forall (x₀ : G), Eq.{succ u1} (Filter.{u1} G) (nhds.{u1} G _inst_6 x₀) (Filter.map.{u1, u1} G G (fun (x : G) => HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G (CommGroup.toGroup.{u1} G _inst_5)))))) x₀ x) (nhds.{u1} G _inst_6 (OfNat.ofNat.{u1} G 1 (One.toOfNat1.{u1} G (InvOneClass.toOne.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (DivisionCommMonoid.toDivisionMonoid.{u1} G (CommGroup.toDivisionCommMonoid.{u1} G _inst_5)))))))))) -> (TopologicalGroup.{u1} G _inst_6 (CommGroup.toGroup.{u1} G _inst_5)) Case conversion may be inaccurate. Consider using '#align topological_group.of_comm_of_nhds_one TopologicalGroup.of_comm_of_nhds_oneₓ'. -/ @[to_additive] theorem TopologicalGroup.of_comm_of_nhds_one {G : Type u} [CommGroup G] [TopologicalSpace G] @@ -1697,7 +1697,7 @@ def Homeomorph.divLeft (x : G) : G ≃ₜ G := lean 3 declaration is forall {G : Type.{u1}} [_inst_1 : Group.{u1} G] [_inst_2 : TopologicalSpace.{u1} G] [_inst_3 : TopologicalGroup.{u1} G _inst_2 _inst_1] (a : G), IsOpenMap.{u1, u1} G G _inst_2 _inst_2 (HDiv.hDiv.{u1, u1, u1} G G G (instHDiv.{u1} G (DivInvMonoid.toHasDiv.{u1} G (Group.toDivInvMonoid.{u1} G _inst_1))) a) but is expected to have type - forall {G : Type.{u1}} [_inst_1 : Group.{u1} G] [_inst_2 : TopologicalSpace.{u1} G] [_inst_3 : TopologicalGroup.{u1} G _inst_2 _inst_1] (a : G), IsOpenMap.{u1, u1} G G _inst_2 _inst_2 ((fun (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9323 : G) (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9325 : G) => HDiv.hDiv.{u1, u1, u1} G G G (instHDiv.{u1} G (DivInvMonoid.toDiv.{u1} G (Group.toDivInvMonoid.{u1} G _inst_1))) x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9323 x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9325) a) + forall {G : Type.{u1}} [_inst_1 : Group.{u1} G] [_inst_2 : TopologicalSpace.{u1} G] [_inst_3 : TopologicalGroup.{u1} G _inst_2 _inst_1] (a : G), IsOpenMap.{u1, u1} G G _inst_2 _inst_2 ((fun (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9502 : G) (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9504 : G) => HDiv.hDiv.{u1, u1, u1} G G G (instHDiv.{u1} G (DivInvMonoid.toDiv.{u1} G (Group.toDivInvMonoid.{u1} G _inst_1))) x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9502 x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9504) a) Case conversion may be inaccurate. Consider using '#align is_open_map_div_left isOpenMap_div_leftₓ'. -/ @[to_additive] theorem isOpenMap_div_left (a : G) : IsOpenMap ((· / ·) a) := @@ -1709,7 +1709,7 @@ theorem isOpenMap_div_left (a : G) : IsOpenMap ((· / ·) a) := lean 3 declaration is forall {G : Type.{u1}} [_inst_1 : Group.{u1} G] [_inst_2 : TopologicalSpace.{u1} G] [_inst_3 : TopologicalGroup.{u1} G _inst_2 _inst_1] (a : G), IsClosedMap.{u1, u1} G G _inst_2 _inst_2 (HDiv.hDiv.{u1, u1, u1} G G G (instHDiv.{u1} G (DivInvMonoid.toHasDiv.{u1} G (Group.toDivInvMonoid.{u1} G _inst_1))) a) but is expected to have type - forall {G : Type.{u1}} [_inst_1 : Group.{u1} G] [_inst_2 : TopologicalSpace.{u1} G] [_inst_3 : TopologicalGroup.{u1} G _inst_2 _inst_1] (a : G), IsClosedMap.{u1, u1} G G _inst_2 _inst_2 ((fun (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9365 : G) (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9367 : G) => HDiv.hDiv.{u1, u1, u1} G G G (instHDiv.{u1} G (DivInvMonoid.toDiv.{u1} G (Group.toDivInvMonoid.{u1} G _inst_1))) x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9365 x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9367) a) + forall {G : Type.{u1}} [_inst_1 : Group.{u1} G] [_inst_2 : TopologicalSpace.{u1} G] [_inst_3 : TopologicalGroup.{u1} G _inst_2 _inst_1] (a : G), IsClosedMap.{u1, u1} G G _inst_2 _inst_2 ((fun (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9544 : G) (x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9546 : G) => HDiv.hDiv.{u1, u1, u1} G G G (instHDiv.{u1} G (DivInvMonoid.toDiv.{u1} G (Group.toDivInvMonoid.{u1} G _inst_1))) x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9544 x._@.Mathlib.Topology.Algebra.Group.Basic._hyg.9546) a) Case conversion may be inaccurate. Consider using '#align is_closed_map_div_left isClosedMap_div_leftₓ'. -/ @[to_additive] theorem isClosedMap_div_left (a : G) : IsClosedMap ((· / ·) a) := diff --git a/Mathbin/Topology/Algebra/Localization.lean b/Mathbin/Topology/Algebra/Localization.lean index 8667b782f9..039b34fe90 100644 --- a/Mathbin/Topology/Algebra/Localization.lean +++ b/Mathbin/Topology/Algebra/Localization.lean @@ -39,5 +39,5 @@ instance : TopologicalSpace (Localization M) := Localization.ringTopology.toTopologicalSpace instance : TopologicalRing (Localization M) := - Localization.ringTopology.to_topologicalRing + Localization.ringTopology.toTopologicalRing diff --git a/Mathbin/Topology/Algebra/Ring/Basic.lean b/Mathbin/Topology/Algebra/Ring/Basic.lean index b15434eec1..3e35dfb9cb 100644 --- a/Mathbin/Topology/Algebra/Ring/Basic.lean +++ b/Mathbin/Topology/Algebra/Ring/Basic.lean @@ -41,6 +41,7 @@ section TopologicalSemiring variable (α : Type _) +#print TopologicalSemiring /- /-- a topological semiring is a semiring `R` where addition and multiplication are continuous. We allow for non-unital and non-associative semirings as well. @@ -52,7 +53,9 @@ mathematically equivalent (see `topological_semiring.has_continuous_neg_of_mul` class TopologicalSemiring [TopologicalSpace α] [NonUnitalNonAssocSemiring α] extends ContinuousAdd α, ContinuousMul α : Prop #align topological_semiring TopologicalSemiring +-/ +#print TopologicalRing /- /-- A topological ring is a ring `R` where addition, multiplication and negation are continuous. If `R` is a (unital) ring, then continuity of negation can be derived from continuity of @@ -62,9 +65,16 @@ multiplication as it is multiplication with `-1`. (See class TopologicalRing [TopologicalSpace α] [NonUnitalNonAssocRing α] extends TopologicalSemiring α, ContinuousNeg α : Prop #align topological_ring TopologicalRing +-/ variable {α} +/- warning: topological_semiring.has_continuous_neg_of_mul -> TopologicalSemiring.continuousNeg_of_mul is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))))], ContinuousNeg.{u1} α _inst_1 (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α _inst_2)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))], ContinuousNeg.{u1} α _inst_1 (AddGroupWithOne.toNeg.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α _inst_2)) +Case conversion may be inaccurate. Consider using '#align topological_semiring.has_continuous_neg_of_mul TopologicalSemiring.continuousNeg_of_mulₓ'. -/ /-- If `R` is a ring with a continuous multiplication, then negation is continuous as well since it is just multiplication with `-1`. -/ theorem TopologicalSemiring.continuousNeg_of_mul [TopologicalSpace α] [NonAssocRing α] @@ -74,32 +84,40 @@ theorem TopologicalSemiring.continuousNeg_of_mul [TopologicalSpace α] [NonAssoc simpa using (continuous_const.mul continuous_id : Continuous fun x : α => -1 * x) } #align topological_semiring.has_continuous_neg_of_mul TopologicalSemiring.continuousNeg_of_mul +#print TopologicalSemiring.toTopologicalRing /- /-- If `R` is a ring which is a topological semiring, then it is automatically a topological ring. This exists so that one can place a topological ring structure on `R` without explicitly proving `continuous_neg`. -/ -theorem TopologicalSemiring.to_topologicalRing [TopologicalSpace α] [NonAssocRing α] +theorem TopologicalSemiring.toTopologicalRing [TopologicalSpace α] [NonAssocRing α] (h : TopologicalSemiring α) : TopologicalRing α := { h, (haveI := h.to_has_continuous_mul TopologicalSemiring.continuousNeg_of_mul : ContinuousNeg α) with } -#align topological_semiring.to_topological_ring TopologicalSemiring.to_topologicalRing +#align topological_semiring.to_topological_ring TopologicalSemiring.toTopologicalRing +-/ +#print TopologicalRing.to_topologicalAddGroup /- -- See note [lower instance priority] instance (priority := 100) TopologicalRing.to_topologicalAddGroup [NonUnitalNonAssocRing α] [TopologicalSpace α] [TopologicalRing α] : TopologicalAddGroup α := { TopologicalRing.to_topologicalSemiring.to_continuousAdd, TopologicalRing.to_continuousNeg with } #align topological_ring.to_topological_add_group TopologicalRing.to_topologicalAddGroup +-/ +#print DiscreteTopology.topologicalSemiring /- instance (priority := 50) DiscreteTopology.topologicalSemiring [TopologicalSpace α] [NonUnitalNonAssocSemiring α] [DiscreteTopology α] : TopologicalSemiring α := ⟨⟩ #align discrete_topology.topological_semiring DiscreteTopology.topologicalSemiring +-/ +#print DiscreteTopology.topologicalRing /- instance (priority := 50) DiscreteTopology.topologicalRing [TopologicalSpace α] [NonUnitalNonAssocRing α] [DiscreteTopology α] : TopologicalRing α := ⟨⟩ #align discrete_topology.topological_ring DiscreteTopology.topologicalRing +-/ section @@ -112,32 +130,64 @@ instance (S : Subsemiring α) : TopologicalSemiring S := end Subsemiring +#print Subsemiring.topologicalClosure /- /-- The (topological-space) closure of a subsemiring of a topological semiring is itself a subsemiring. -/ def Subsemiring.topologicalClosure (s : Subsemiring α) : Subsemiring α := { s.toSubmonoid.topologicalClosure, s.toAddSubmonoid.topologicalClosure with carrier := closure (s : Set α) } #align subsemiring.topological_closure Subsemiring.topologicalClosure +-/ +/- warning: subsemiring.topological_closure_coe -> Subsemiring.topologicalClosure_coe is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)) (closure.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)) (closure.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) s)) +Case conversion may be inaccurate. Consider using '#align subsemiring.topological_closure_coe Subsemiring.topologicalClosure_coeₓ'. -/ @[simp] theorem Subsemiring.topologicalClosure_coe (s : Subsemiring α) : (s.topologicalClosure : Set α) = closure (s : Set α) := rfl #align subsemiring.topological_closure_coe Subsemiring.topologicalClosure_coe +/- warning: subsemiring.le_topological_closure -> Subsemiring.le_topologicalClosure is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) s (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) +Case conversion may be inaccurate. Consider using '#align subsemiring.le_topological_closure Subsemiring.le_topologicalClosureₓ'. -/ theorem Subsemiring.le_topologicalClosure (s : Subsemiring α) : s ≤ s.topologicalClosure := subset_closure #align subsemiring.le_topological_closure Subsemiring.le_topologicalClosure +/- warning: subsemiring.is_closed_topological_closure -> Subsemiring.isClosed_topologicalClosure is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)) +Case conversion may be inaccurate. Consider using '#align subsemiring.is_closed_topological_closure Subsemiring.isClosed_topologicalClosureₓ'. -/ theorem Subsemiring.isClosed_topologicalClosure (s : Subsemiring α) : IsClosed (s.topologicalClosure : Set α) := by convert isClosed_closure #align subsemiring.is_closed_topological_closure Subsemiring.isClosed_topologicalClosure +/- warning: subsemiring.topological_closure_minimal -> Subsemiring.topologicalClosure_minimal is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) {t : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)}, (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s t) -> (IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) t)) -> (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) {t : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)}, (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) s t) -> (IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) t)) -> (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t) +Case conversion may be inaccurate. Consider using '#align subsemiring.topological_closure_minimal Subsemiring.topologicalClosure_minimalₓ'. -/ theorem Subsemiring.topologicalClosure_minimal (s : Subsemiring α) {t : Subsemiring α} (h : s ≤ t) (ht : IsClosed (t : Set α)) : s.topologicalClosure ≤ t := closure_minimal h ht #align subsemiring.topological_closure_minimal Subsemiring.topologicalClosure_minimal +/- warning: subsemiring.comm_semiring_topological_closure -> Subsemiring.commSemiringTopologicalClosure is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), (forall (x : coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (y : coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (MulMemClass.mul.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))) (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.commSemiringTopologicalClosure._proof_1.{u1} α _inst_2) s)) x y) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (MulMemClass.mul.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))) (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.commSemiringTopologicalClosure._proof_1.{u1} α _inst_2) s)) y x)) -> (CommSemiring.{u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), (forall (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (y : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)), Eq.{succ u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) (Subsemiring.toSubmonoid.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2) s))) x y) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) (Subsemiring.toSubmonoid.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2) s))) y x)) -> (CommSemiring.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)))) +Case conversion may be inaccurate. Consider using '#align subsemiring.comm_semiring_topological_closure Subsemiring.commSemiringTopologicalClosureₓ'. -/ /-- If a subsemiring of a topological semiring is commutative, then so is its topological closure. -/ def Subsemiring.commSemiringTopologicalClosure [T2Space α] (s : Subsemiring α) @@ -214,6 +264,12 @@ section variable {R : Type _} [NonUnitalNonAssocRing R] [TopologicalSpace R] +/- warning: topological_ring.of_add_group_of_nhds_zero -> TopologicalRing.of_add_group_of_nhds_zero is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R] [_inst_3 : TopologicalAddGroup.{u1} R _inst_2 (AddCommGroup.toAddGroup.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1))], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1) +but is expected to have type + forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R] [_inst_3 : TopologicalAddGroup.{u1} R _inst_2 (AddCommGroup.toAddGroup.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1))], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (fun (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.806 : R) (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.808 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.806 x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.808)) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1) +Case conversion may be inaccurate. Consider using '#align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_add_group_of_nhds_zeroₓ'. -/ theorem TopologicalRing.of_add_group_of_nhds_zero [TopologicalAddGroup R] (hmul : Tendsto (uncurry ((· * ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0) (hmul_left : ∀ x₀ : R, Tendsto (fun x : R => x₀ * x) (𝓝 0) <| 𝓝 0) @@ -245,6 +301,12 @@ theorem TopologicalRing.of_add_group_of_nhds_zero [TopologicalAddGroup R] exact hadd.comp (((hmul_right y₀).comp tendsto_fst).prod_mk ((hmul_left x₀).comp tendsto_snd)) #align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_add_group_of_nhds_zero +/- warning: topological_ring.of_nhds_zero -> TopologicalRing.of_nhds_zero is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} R R (fun (x : R) => Neg.neg.{u1} R (SubNegMonoid.toHasNeg.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddCommGroup.toAddGroup.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1)))) x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Eq.{succ u1} (Filter.{u1} R) (nhds.{u1} R _inst_2 x₀) (Filter.map.{u1, u1} R R (fun (x : R) => HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1) +but is expected to have type + forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (fun (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.975 : R) (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.977 : R) => HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.975 x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.977)) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (Filter.Tendsto.{u1, u1} R R (fun (x : R) => Neg.neg.{u1} R (NegZeroClass.toNeg.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R (SubtractionMonoid.toSubNegZeroMonoid.{u1} R (SubtractionCommMonoid.toSubtractionMonoid.{u1} R (AddCommGroup.toDivisionAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1)))))) x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (fun (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1059 : R) (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1061 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1059 x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1061)) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Eq.{succ u1} (Filter.{u1} R) (nhds.{u1} R _inst_2 x₀) (Filter.map.{u1, u1} R R (fun (x : R) => HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1) +Case conversion may be inaccurate. Consider using '#align topological_ring.of_nhds_zero TopologicalRing.of_nhds_zeroₓ'. -/ theorem TopologicalRing.of_nhds_zero (hadd : Tendsto (uncurry ((· + ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0) (hneg : Tendsto (fun x => -x : R → R) (𝓝 0) (𝓝 0)) @@ -264,11 +326,23 @@ section variable [NonUnitalNonAssocRing α] [TopologicalRing α] +/- warning: mul_left_continuous -> mulLeft_continuous is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _inst_1 (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _inst_1 (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x)) +Case conversion may be inaccurate. Consider using '#align mul_left_continuous mulLeft_continuousₓ'. -/ /-- In a topological semiring, the left-multiplication `add_monoid_hom` is continuous. -/ theorem mulLeft_continuous (x : α) : Continuous (AddMonoidHom.mulLeft x) := continuous_const.mul continuous_id #align mul_left_continuous mulLeft_continuous +/- warning: mul_right_continuous -> mulRight_continuous is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _inst_1 (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _inst_1 (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x)) +Case conversion may be inaccurate. Consider using '#align mul_right_continuous mulRight_continuousₓ'. -/ /-- In a topological semiring, the right-multiplication `add_monoid_hom` is continuous. -/ theorem mulRight_continuous (x : α) : Continuous (AddMonoidHom.mulRight x) := continuous_id.mul continuous_const @@ -281,30 +355,56 @@ variable [Ring α] [TopologicalRing α] namespace Subring instance (S : Subring α) : TopologicalRing S := - TopologicalSemiring.to_topologicalRing S.toSubsemiring.TopologicalSemiring + TopologicalSemiring.toTopologicalRing S.toSubsemiring.TopologicalSemiring end Subring +#print Subring.topologicalClosure /- /-- The (topological-space) closure of a subring of a topological ring is itself a subring. -/ def Subring.topologicalClosure (S : Subring α) : Subring α := { S.toSubmonoid.topologicalClosure, S.toAddSubgroup.topologicalClosure with carrier := closure (S : Set α) } #align subring.topological_closure Subring.topologicalClosure +-/ +/- warning: subring.le_topological_closure -> Subring.le_topologicalClosure is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) s (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) s (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) +Case conversion may be inaccurate. Consider using '#align subring.le_topological_closure Subring.le_topologicalClosureₓ'. -/ theorem Subring.le_topologicalClosure (s : Subring α) : s ≤ s.topologicalClosure := subset_closure #align subring.le_topological_closure Subring.le_topologicalClosure +/- warning: subring.is_closed_topological_closure -> Subring.isClosed_topologicalClosure is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subring.{u1} α _inst_2) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)) +Case conversion may be inaccurate. Consider using '#align subring.is_closed_topological_closure Subring.isClosed_topologicalClosureₓ'. -/ theorem Subring.isClosed_topologicalClosure (s : Subring α) : IsClosed (s.topologicalClosure : Set α) := by convert isClosed_closure #align subring.is_closed_topological_closure Subring.isClosed_topologicalClosure +/- warning: subring.topological_closure_minimal -> Subring.topologicalClosure_minimal is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2) {t : Subring.{u1} α _inst_2}, (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) s t) -> (IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subring.{u1} α _inst_2) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) t)) -> (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2) {t : Subring.{u1} α _inst_2}, (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) s t) -> (IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2) t)) -> (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t) +Case conversion may be inaccurate. Consider using '#align subring.topological_closure_minimal Subring.topologicalClosure_minimalₓ'. -/ theorem Subring.topologicalClosure_minimal (s : Subring α) {t : Subring α} (h : s ≤ t) (ht : IsClosed (t : Set α)) : s.topologicalClosure ≤ t := closure_minimal h ht #align subring.topological_closure_minimal Subring.topologicalClosure_minimal +/- warning: subring.comm_ring_topological_closure -> Subring.commRingTopologicalClosure is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subring.{u1} α _inst_2), (forall (x : coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (y : coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (MulMemClass.mul.{u1, u1} α (Subring.{u1} α _inst_2) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))))) (Subring.setLike.{u1} α _inst_2) (Subring.commRingTopologicalClosure._proof_1.{u1} α _inst_2) s)) x y) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (MulMemClass.mul.{u1, u1} α (Subring.{u1} α _inst_2) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))))) (Subring.setLike.{u1} α _inst_2) (Subring.commRingTopologicalClosure._proof_1.{u1} α _inst_2) s)) y x)) -> (CommRing.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subring.{u1} α _inst_2), (forall (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (y : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)), Eq.{succ u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)))) (Subsemiring.toSubmonoid.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)) (Subring.toSubsemiring.{u1} α _inst_2 s)))) x y) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)))) (Subsemiring.toSubmonoid.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)) (Subring.toSubsemiring.{u1} α _inst_2 s)))) y x)) -> (CommRing.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)))) +Case conversion may be inaccurate. Consider using '#align subring.comm_ring_topological_closure Subring.commRingTopologicalClosureₓ'. -/ /-- If a subring of a topological ring is commutative, then so is its topological closure. -/ def Subring.commRingTopologicalClosure [T2Space α] (s : Subring α) (hs : ∀ x y : s, x * y = y * x) : CommRing s.topologicalClosure := @@ -326,29 +426,35 @@ Any function `f : α → β` induces `coinduced f : topological_space α → rin universe u v +#print RingTopology /- /-- A ring topology on a ring `α` is a topology for which addition, negation and multiplication are continuous. -/ @[ext] structure RingTopology (α : Type u) [Ring α] extends TopologicalSpace α, TopologicalRing α : Type u #align ring_topology RingTopology +-/ namespace RingTopology variable {α : Type _} [Ring α] +#print RingTopology.inhabited /- instance inhabited {α : Type u} [Ring α] : Inhabited (RingTopology α) := ⟨{ toTopologicalSpace := ⊤ continuous_add := continuous_top continuous_mul := continuous_top continuous_neg := continuous_top }⟩ #align ring_topology.inhabited RingTopology.inhabited +-/ +#print RingTopology.ext /- @[ext] -theorem ext' {f g : RingTopology α} (h : f.IsOpen = g.IsOpen) : f = g := +theorem ext {f g : RingTopology α} (h : f.IsOpen = g.IsOpen) : f = g := by ext : 2 exact h -#align ring_topology.ext' RingTopology.ext' +#align ring_topology.ext' RingTopology.ext +-/ /-- The ordering on ring topologies on the ring `α`. `t ≤ s` if every set open in `s` is also open in `t` (`t` is finer than `s`). -/ @@ -404,12 +510,20 @@ instance : CompleteSemilatticeInf (RingTopology α) := instance : CompleteLattice (RingTopology α) := completeLatticeOfCompleteSemilatticeInf _ +#print RingTopology.coinduced /- /-- Given `f : α → β` and a topology on `α`, the coinduced ring topology on `β` is the finest topology such that `f` is continuous and `β` is a topological ring. -/ def coinduced {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) : RingTopology β := infₛ { b : RingTopology β | TopologicalSpace.coinduced f t ≤ b.toTopologicalSpace } #align ring_topology.coinduced RingTopology.coinduced +-/ +/- warning: ring_topology.coinduced_continuous -> RingTopology.coinduced_continuous is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} [t : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u2} β] (f : α -> β), Continuous.{u1, u2} α β t (RingTopology.toTopologicalSpace.{u2} β _inst_2 (RingTopology.coinduced.{u1, u2} α β t _inst_2 f)) f +but is expected to have type + forall {α : Type.{u2}} {β : Type.{u1}} [t : TopologicalSpace.{u2} α] [_inst_2 : Ring.{u1} β] (f : α -> β), Continuous.{u2, u1} α β t (RingTopology.toTopologicalSpace.{u1} β _inst_2 (RingTopology.coinduced.{u2, u1} α β t _inst_2 f)) f +Case conversion may be inaccurate. Consider using '#align ring_topology.coinduced_continuous RingTopology.coinduced_continuousₓ'. -/ theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) : cont t (coinduced f).toTopologicalSpace f := by @@ -419,14 +533,22 @@ theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β exact ht' #align ring_topology.coinduced_continuous RingTopology.coinduced_continuous +#print RingTopology.toAddGroupTopology /- /-- The forgetful functor from ring topologies on `a` to additive group topologies on `a`. -/ def toAddGroupTopology (t : RingTopology α) : AddGroupTopology α where toTopologicalSpace := t.toTopologicalSpace to_topologicalAddGroup := - @TopologicalRing.to_topologicalAddGroup _ _ t.toTopologicalSpace t.to_topologicalRing + @TopologicalRing.to_topologicalAddGroup _ _ t.toTopologicalSpace t.toTopologicalRing #align ring_topology.to_add_group_topology RingTopology.toAddGroupTopology +-/ +/- warning: ring_topology.to_add_group_topology.order_embedding -> RingTopology.toAddGroupTopology.orderEmbedding is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) (Preorder.toLE.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.partialOrder.{u1} α _inst_1))) (Preorder.toLE.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) (AddGroupTopology.partialOrder.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (Preorder.toLE.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.instPartialOrderRingTopology.{u1} α _inst_1))) (Preorder.toLE.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (AddGroupTopology.instPartialOrderAddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))))) +Case conversion may be inaccurate. Consider using '#align ring_topology.to_add_group_topology.order_embedding RingTopology.toAddGroupTopology.orderEmbeddingₓ'. -/ /-- The order embedding from ring topologies on `a` to additive group topologies on `a`. -/ def toAddGroupTopology.orderEmbedding : OrderEmbedding (RingTopology α) (AddGroupTopology α) := OrderEmbedding.ofMapLeIff toAddGroupTopology fun _ _ => Iff.rfl @@ -436,6 +558,12 @@ end RingTopology section AbsoluteValue +/- warning: absolute_value.comp -> AbsoluteValue.comp is a dubious translation: +lean 3 declaration is + forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (fun (_x : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) => T -> R) (RingHom.hasCoeToFun.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3)) +but is expected to have type + forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T (fun (_x : T) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : T) => R) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonUnitalNonAssocSemiring.toMul.{u3} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3)) +Case conversion may be inaccurate. Consider using '#align absolute_value.comp AbsoluteValue.compₓ'. -/ /-- Construct an absolute value on a semiring `T` from an absolute value on a semiring `R` and an injective ring homomorphism `f : T →+* R` -/ def AbsoluteValue.comp {R S T : Type _} [Semiring T] [Semiring R] [OrderedSemiring S] diff --git a/Mathbin/Topology/Algebra/Ring/Ideal.lean b/Mathbin/Topology/Algebra/Ring/Ideal.lean index 72e9794da1..e1b3857f66 100644 --- a/Mathbin/Topology/Algebra/Ring/Ideal.lean +++ b/Mathbin/Topology/Algebra/Ring/Ideal.lean @@ -73,7 +73,7 @@ theorem QuotientRing.quotientMap_coe_coe : QuotientMap fun p : R × R => (mk N p #align quotient_ring.quotient_map_coe_coe QuotientRing.quotientMap_coe_coe instance topologicalRing_quotient : TopologicalRing (R ⧸ N) := - TopologicalSemiring.to_topologicalRing + TopologicalSemiring.toTopologicalRing { continuous_add := have cont : Continuous (mk N ∘ fun p : R × R => p.fst + p.snd) := continuous_quot_mk.comp continuous_add diff --git a/Mathbin/Topology/Instances/Int.lean b/Mathbin/Topology/Instances/Int.lean index 01701299a2..b59e7bbb0d 100644 --- a/Mathbin/Topology/Instances/Int.lean +++ b/Mathbin/Topology/Instances/Int.lean @@ -28,25 +28,55 @@ namespace Int instance : Dist ℤ := ⟨fun x y => dist (x : ℝ) y⟩ +/- warning: int.dist_eq -> Int.dist_eq is a dubious translation: +lean 3 declaration is + forall (x : Int) (y : Int), Eq.{1} Real (Dist.dist.{0} Int Int.hasDist x y) (Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.hasNeg Real.hasSup) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast))) x) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast))) y))) +but is expected to have type + forall (x : Int) (y : Int), Eq.{1} Real (Dist.dist.{0} Int Int.instDistInt x y) (Abs.abs.{0} Real (Neg.toHasAbs.{0} Real Real.instNegReal Real.instSupReal) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.instSubReal) (Int.cast.{0} Real Real.intCast x) (Int.cast.{0} Real Real.intCast y))) +Case conversion may be inaccurate. Consider using '#align int.dist_eq Int.dist_eqₓ'. -/ theorem dist_eq (x y : ℤ) : dist x y = |x - y| := rfl #align int.dist_eq Int.dist_eq +/- warning: int.dist_cast_real -> Int.dist_cast_real is a dubious translation: +lean 3 declaration is + forall (x : Int) (y : Int), Eq.{1} Real (Dist.dist.{0} Real (PseudoMetricSpace.toHasDist.{0} Real Real.pseudoMetricSpace) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast))) x) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast))) y)) (Dist.dist.{0} Int Int.hasDist x y) +but is expected to have type + forall (x : Int) (y : Int), Eq.{1} Real (Dist.dist.{0} Real (PseudoMetricSpace.toDist.{0} Real Real.pseudoMetricSpace) (Int.cast.{0} Real Real.intCast x) (Int.cast.{0} Real Real.intCast y)) (Dist.dist.{0} Int Int.instDistInt x y) +Case conversion may be inaccurate. Consider using '#align int.dist_cast_real Int.dist_cast_realₓ'. -/ @[norm_cast, simp] theorem dist_cast_real (x y : ℤ) : dist (x : ℝ) y = dist x y := rfl #align int.dist_cast_real Int.dist_cast_real +/- warning: int.pairwise_one_le_dist -> Int.pairwise_one_le_dist is a dubious translation: +lean 3 declaration is + Pairwise.{0} Int (fun (m : Int) (n : Int) => LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Dist.dist.{0} Int Int.hasDist m n)) +but is expected to have type + Pairwise.{0} Int (fun (m : Int) (n : Int) => LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Dist.dist.{0} Int Int.instDistInt m n)) +Case conversion may be inaccurate. Consider using '#align int.pairwise_one_le_dist Int.pairwise_one_le_distₓ'. -/ theorem pairwise_one_le_dist : Pairwise fun m n : ℤ => 1 ≤ dist m n := by intro m n hne rw [dist_eq]; norm_cast; rwa [← zero_add (1 : ℤ), Int.add_one_le_iff, abs_pos, sub_ne_zero] #align int.pairwise_one_le_dist Int.pairwise_one_le_dist +/- warning: int.uniform_embedding_coe_real -> Int.uniformEmbedding_coe_real is a dubious translation: +lean 3 declaration is + UniformEmbedding.{0, 0} Int Real Int.uniformSpace (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast)))) +but is expected to have type + UniformEmbedding.{0, 0} Int Real instUniformSpaceInt (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace) (Int.cast.{0} Real Real.intCast) +Case conversion may be inaccurate. Consider using '#align int.uniform_embedding_coe_real Int.uniformEmbedding_coe_realₓ'. -/ theorem uniformEmbedding_coe_real : UniformEmbedding (coe : ℤ → ℝ) := uniformEmbedding_bot_of_pairwise_le_dist zero_lt_one pairwise_one_le_dist #align int.uniform_embedding_coe_real Int.uniformEmbedding_coe_real +/- warning: int.closed_embedding_coe_real -> Int.closedEmbedding_coe_real is a dubious translation: +lean 3 declaration is + ClosedEmbedding.{0, 0} Int Real Int.topologicalSpace (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast)))) +but is expected to have type + ClosedEmbedding.{0, 0} Int Real instTopologicalSpaceInt (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (Int.cast.{0} Real Real.intCast) +Case conversion may be inaccurate. Consider using '#align int.closed_embedding_coe_real Int.closedEmbedding_coe_realₓ'. -/ theorem closedEmbedding_coe_real : ClosedEmbedding (coe : ℤ → ℝ) := closedEmbedding_of_pairwise_le_dist zero_lt_one pairwise_one_le_dist #align int.closed_embedding_coe_real Int.closedEmbedding_coe_real @@ -54,18 +84,42 @@ theorem closedEmbedding_coe_real : ClosedEmbedding (coe : ℤ → ℝ) := instance : MetricSpace ℤ := Int.uniformEmbedding_coe_real.comapMetricSpace _ +/- warning: int.preimage_ball -> Int.preimage_ball is a dubious translation: +lean 3 declaration is + forall (x : Int) (r : Real), Eq.{1} (Set.{0} Int) (Set.preimage.{0, 0} Int Real ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast)))) (Metric.ball.{0} Real Real.pseudoMetricSpace ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast))) x) r)) (Metric.ball.{0} Int (MetricSpace.toPseudoMetricSpace.{0} Int Int.metricSpace) x r) +but is expected to have type + forall (x : Int) (r : Real), Eq.{1} (Set.{0} Int) (Set.preimage.{0, 0} Int Real (Int.cast.{0} Real Real.intCast) (Metric.ball.{0} Real Real.pseudoMetricSpace (Int.cast.{0} Real Real.intCast x) r)) (Metric.ball.{0} Int (MetricSpace.toPseudoMetricSpace.{0} Int Int.instMetricSpaceInt) x r) +Case conversion may be inaccurate. Consider using '#align int.preimage_ball Int.preimage_ballₓ'. -/ theorem preimage_ball (x : ℤ) (r : ℝ) : coe ⁻¹' ball (x : ℝ) r = ball x r := rfl #align int.preimage_ball Int.preimage_ball +/- warning: int.preimage_closed_ball -> Int.preimage_closedBall is a dubious translation: +lean 3 declaration is + forall (x : Int) (r : Real), Eq.{1} (Set.{0} Int) (Set.preimage.{0, 0} Int Real ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast)))) (Metric.closedBall.{0} Real Real.pseudoMetricSpace ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast))) x) r)) (Metric.closedBall.{0} Int (MetricSpace.toPseudoMetricSpace.{0} Int Int.metricSpace) x r) +but is expected to have type + forall (x : Int) (r : Real), Eq.{1} (Set.{0} Int) (Set.preimage.{0, 0} Int Real (Int.cast.{0} Real Real.intCast) (Metric.closedBall.{0} Real Real.pseudoMetricSpace (Int.cast.{0} Real Real.intCast x) r)) (Metric.closedBall.{0} Int (MetricSpace.toPseudoMetricSpace.{0} Int Int.instMetricSpaceInt) x r) +Case conversion may be inaccurate. Consider using '#align int.preimage_closed_ball Int.preimage_closedBallₓ'. -/ theorem preimage_closedBall (x : ℤ) (r : ℝ) : coe ⁻¹' closedBall (x : ℝ) r = closedBall x r := rfl #align int.preimage_closed_ball Int.preimage_closedBall +/- warning: int.ball_eq_Ioo -> Int.ball_eq_Ioo is a dubious translation: +lean 3 declaration is + forall (x : Int) (r : Real), Eq.{1} (Set.{0} Int) (Metric.ball.{0} Int (MetricSpace.toPseudoMetricSpace.{0} Int Int.metricSpace) x r) (Set.Ioo.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))) (Int.floor.{0} Real Real.linearOrderedRing Real.floorRing (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast))) x) r)) (Int.ceil.{0} Real Real.linearOrderedRing Real.floorRing (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast))) x) r))) +but is expected to have type + forall (x : Int) (r : Real), Eq.{1} (Set.{0} Int) (Metric.ball.{0} Int (MetricSpace.toPseudoMetricSpace.{0} Int Int.instMetricSpaceInt) x r) (Set.Ioo.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))) (Int.floor.{0} Real Real.instLinearOrderedRingReal Real.instFloorRingRealInstLinearOrderedRingReal (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.instSubReal) (Int.cast.{0} Real Real.intCast x) r)) (Int.ceil.{0} Real Real.instLinearOrderedRingReal Real.instFloorRingRealInstLinearOrderedRingReal (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) (Int.cast.{0} Real Real.intCast x) r))) +Case conversion may be inaccurate. Consider using '#align int.ball_eq_Ioo Int.ball_eq_Iooₓ'. -/ theorem ball_eq_Ioo (x : ℤ) (r : ℝ) : ball x r = Ioo ⌊↑x - r⌋ ⌈↑x + r⌉ := by rw [← preimage_ball, Real.ball_eq_Ioo, preimage_Ioo] #align int.ball_eq_Ioo Int.ball_eq_Ioo +/- warning: int.closed_ball_eq_Icc -> Int.closedBall_eq_Icc is a dubious translation: +lean 3 declaration is + forall (x : Int) (r : Real), Eq.{1} (Set.{0} Int) (Metric.closedBall.{0} Int (MetricSpace.toPseudoMetricSpace.{0} Int Int.metricSpace) x r) (Set.Icc.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))) (Int.ceil.{0} Real Real.linearOrderedRing Real.floorRing (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast))) x) r)) (Int.floor.{0} Real Real.linearOrderedRing Real.floorRing (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.hasAdd) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Int Real (HasLiftT.mk.{1, 1} Int Real (CoeTCₓ.coe.{1, 1} Int Real (Int.castCoe.{0} Real Real.hasIntCast))) x) r))) +but is expected to have type + forall (x : Int) (r : Real), Eq.{1} (Set.{0} Int) (Metric.closedBall.{0} Int (MetricSpace.toPseudoMetricSpace.{0} Int Int.instMetricSpaceInt) x r) (Set.Icc.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))) (Int.ceil.{0} Real Real.instLinearOrderedRingReal Real.instFloorRingRealInstLinearOrderedRingReal (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.instSubReal) (Int.cast.{0} Real Real.intCast x) r)) (Int.floor.{0} Real Real.instLinearOrderedRingReal Real.instFloorRingRealInstLinearOrderedRingReal (HAdd.hAdd.{0, 0, 0} Real Real Real (instHAdd.{0} Real Real.instAddReal) (Int.cast.{0} Real Real.intCast x) r))) +Case conversion may be inaccurate. Consider using '#align int.closed_ball_eq_Icc Int.closedBall_eq_Iccₓ'. -/ theorem closedBall_eq_Icc (x : ℤ) (r : ℝ) : closedBall x r = Icc ⌈↑x - r⌉ ⌊↑x + r⌋ := by rw [← preimage_closed_ball, Real.closedBall_eq_Icc, preimage_Icc] #align int.closed_ball_eq_Icc Int.closedBall_eq_Icc @@ -76,12 +130,20 @@ instance : ProperSpace ℤ := rw [closed_ball_eq_Icc] exact (Set.finite_Icc _ _).IsCompact⟩ +#print Int.cocompact_eq /- @[simp] theorem cocompact_eq : cocompact ℤ = atBot ⊔ atTop := by simp only [← comap_dist_right_atTop_eq_cocompact (0 : ℤ), dist_eq, sub_zero, cast_zero, ← cast_abs, ← @comap_comap _ _ _ _ abs, Int.comap_cast_atTop, comap_abs_at_top] #align int.cocompact_eq Int.cocompact_eq +-/ +/- warning: int.cofinite_eq -> Int.cofinite_eq is a dubious translation: +lean 3 declaration is + Eq.{1} (Filter.{0} Int) (Filter.cofinite.{0} Int) (Sup.sup.{0} (Filter.{0} Int) (SemilatticeSup.toHasSup.{0} (Filter.{0} Int) (Lattice.toSemilatticeSup.{0} (Filter.{0} Int) (ConditionallyCompleteLattice.toLattice.{0} (Filter.{0} Int) (CompleteLattice.toConditionallyCompleteLattice.{0} (Filter.{0} Int) (Filter.completeLattice.{0} Int))))) (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (OrderedAddCommGroup.toPartialOrder.{0} Int (StrictOrderedRing.toOrderedAddCommGroup.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))))) +but is expected to have type + Eq.{1} (Filter.{0} Int) (Filter.cofinite.{0} Int) (Sup.sup.{0} (Filter.{0} Int) (SemilatticeSup.toSup.{0} (Filter.{0} Int) (Lattice.toSemilatticeSup.{0} (Filter.{0} Int) (ConditionallyCompleteLattice.toLattice.{0} (Filter.{0} Int) (CompleteLattice.toConditionallyCompleteLattice.{0} (Filter.{0} Int) (Filter.instCompleteLatticeFilter.{0} Int))))) (Filter.atBot.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing))))) (Filter.atTop.{0} Int (PartialOrder.toPreorder.{0} Int (StrictOrderedRing.toPartialOrder.{0} Int (LinearOrderedRing.toStrictOrderedRing.{0} Int (LinearOrderedCommRing.toLinearOrderedRing.{0} Int Int.linearOrderedCommRing)))))) +Case conversion may be inaccurate. Consider using '#align int.cofinite_eq Int.cofinite_eqₓ'. -/ @[simp] theorem cofinite_eq : (cofinite : Filter ℤ) = atBot ⊔ atTop := by rw [← cocompact_eq_cofinite, cocompact_eq] diff --git a/Mathbin/Topology/MetricSpace/EmetricParacompact.lean b/Mathbin/Topology/MetricSpace/EmetricParacompact.lean index 956f5bdc7d..6dbb3c77dc 100644 --- a/Mathbin/Topology/MetricSpace/EmetricParacompact.lean +++ b/Mathbin/Topology/MetricSpace/EmetricParacompact.lean @@ -189,10 +189,12 @@ instance (priority := 100) [PseudoEMetricSpace α] : ParacompactSpace α := by refine' ⟨I.1, _, I.2, hI, prod.mk.eta.symm⟩ exact not_lt.1 fun hlt => (Hgt I.1 hlt I.2).le_bot hI.some_spec +#print EMetric.normal_of_emetric /- -- see Note [lower instance priority] instance (priority := 100) normal_of_emetric [EMetricSpace α] : NormalSpace α := normal_of_paracompact_t2 -#align emetric.normal_of_emetric Emetric.normal_of_emetric +#align emetric.normal_of_emetric EMetric.normal_of_emetric +-/ end Emetric diff --git a/Mathbin/Topology/MetricSpace/Infsep.lean b/Mathbin/Topology/MetricSpace/Infsep.lean index f3efc2e828..35d743b14b 100644 --- a/Mathbin/Topology/MetricSpace/Infsep.lean +++ b/Mathbin/Topology/MetricSpace/Infsep.lean @@ -41,21 +41,35 @@ open ENNReal open Function +#print Set.einfsep /- /-- The "extended infimum separation" of a set with an edist function. -/ noncomputable def einfsep [EDist α] (s : Set α) : ℝ≥0∞ := ⨅ (x ∈ s) (y ∈ s) (hxy : x ≠ y), edist x y #align set.einfsep Set.einfsep +-/ section EDist variable [EDist α] {x y : α} {s t : Set α} +/- warning: set.le_einfsep_iff -> Set.le_einfsep_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {d : ENNReal}, Iff (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) d (Set.einfsep.{u1} α _inst_1 s)) (forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall (y : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) d (EDist.edist.{u1} α _inst_1 x y)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {d : ENNReal}, Iff (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) d (Set.einfsep.{u1} α _inst_1 s)) (forall (x : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall (y : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) d (EDist.edist.{u1} α _inst_1 x y)))) +Case conversion may be inaccurate. Consider using '#align set.le_einfsep_iff Set.le_einfsep_iffₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem le_einfsep_iff {d} : d ≤ s.einfsep ↔ ∀ (x) (_ : x ∈ s) (y) (_ : y ∈ s) (hxy : x ≠ y), d ≤ edist x y := by simp_rw [einfsep, le_infᵢ_iff] #align set.le_einfsep_iff Set.le_einfsep_iff +/- warning: set.einfsep_zero -> Set.einfsep_zero is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))) (forall (C : ENNReal), (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) C) -> (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) => Exists.{0} (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (EDist.edist.{u1} α _inst_1 x y) C))))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) (forall (C : ENNReal), (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) C) -> (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) => Exists.{0} (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (EDist.edist.{u1} α _inst_1 x y) C))))))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_zero Set.einfsep_zeroₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem einfsep_zero : s.einfsep = 0 ↔ @@ -63,6 +77,12 @@ theorem einfsep_zero : by simp_rw [einfsep, ← bot_eq_zero, infᵢ_eq_bot, infᵢ_lt_iff] #align set.einfsep_zero Set.einfsep_zero +/- warning: set.einfsep_pos -> Set.einfsep_pos is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) (Set.einfsep.{u1} α _inst_1 s)) (Exists.{1} ENNReal (fun (C : ENNReal) => Exists.{0} (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) C) (fun (hC : LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) C) => forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall (y : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) C (EDist.edist.{u1} α _inst_1 x y)))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) (Set.einfsep.{u1} α _inst_1 s)) (Exists.{1} ENNReal (fun (C : ENNReal) => Exists.{0} (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) C) (fun (hC : LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) C) => forall (x : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall (y : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) C (EDist.edist.{u1} α _inst_1 x y)))))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_pos Set.einfsep_posₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem einfsep_pos : 0 < s.einfsep ↔ @@ -72,115 +92,247 @@ theorem einfsep_pos : simp only [not_forall, not_exists, not_lt] #align set.einfsep_pos Set.einfsep_pos +/- warning: set.einfsep_top -> Set.einfsep_top is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall (y : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (Eq.{1} ENNReal (EDist.edist.{u1} α _inst_1 x y) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (forall (x : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall (y : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (Eq.{1} ENNReal (EDist.edist.{u1} α _inst_1 x y) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_top Set.einfsep_topₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem einfsep_top : s.einfsep = ∞ ↔ ∀ (x) (_ : x ∈ s) (y) (_ : y ∈ s) (hxy : x ≠ y), edist x y = ∞ := by simp_rw [einfsep, infᵢ_eq_top] #align set.einfsep_top Set.einfsep_top +/- warning: set.einfsep_lt_top -> Set.einfsep_lt_top is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) => Exists.{0} (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (EDist.edist.{u1} α _inst_1 x y) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) => Exists.{0} (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (EDist.edist.{u1} α _inst_1 x y) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))))))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_lt_top Set.einfsep_lt_topₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem einfsep_lt_top : s.einfsep < ∞ ↔ ∃ (x : _)(_ : x ∈ s)(y : _)(_ : y ∈ s)(hxy : x ≠ y), edist x y < ∞ := by simp_rw [einfsep, infᵢ_lt_iff] #align set.einfsep_lt_top Set.einfsep_lt_top +/- warning: set.einfsep_ne_top -> Set.einfsep_ne_top is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (Ne.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) => Exists.{0} (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => Ne.{1} ENNReal (EDist.edist.{u1} α _inst_1 x y) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (Ne.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) => Exists.{0} (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => Ne.{1} ENNReal (EDist.edist.{u1} α _inst_1 x y) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))))))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_ne_top Set.einfsep_ne_topₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem einfsep_ne_top : s.einfsep ≠ ∞ ↔ ∃ (x : _)(_ : x ∈ s)(y : _)(_ : y ∈ s)(hxy : x ≠ y), edist x y ≠ ∞ := by simp_rw [← lt_top_iff_ne_top, einfsep_lt_top] #align set.einfsep_ne_top Set.einfsep_ne_top +/- warning: set.einfsep_lt_iff -> Set.einfsep_lt_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {d : ENNReal}, Iff (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α _inst_1 s) d) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) => Exists.{0} (Ne.{succ u1} α x y) (fun (h : Ne.{succ u1} α x y) => LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (EDist.edist.{u1} α _inst_1 x y) d)))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {d : ENNReal}, Iff (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α _inst_1 s) d) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) => Exists.{0} (Ne.{succ u1} α x y) (fun (h : Ne.{succ u1} α x y) => LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (EDist.edist.{u1} α _inst_1 x y) d)))))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_lt_iff Set.einfsep_lt_iffₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem einfsep_lt_iff {d} : s.einfsep < d ↔ ∃ (x : _)(_ : x ∈ s)(y : _)(_ : y ∈ s)(h : x ≠ y), edist x y < d := by simp_rw [einfsep, infᵢ_lt_iff] #align set.einfsep_lt_iff Set.einfsep_lt_iff +/- warning: set.nontrivial_of_einfsep_lt_top -> Set.nontrivial_of_einfsep_lt_top is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (Set.Nontrivial.{u1} α s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (Set.Nontrivial.{u1} α s) +Case conversion may be inaccurate. Consider using '#align set.nontrivial_of_einfsep_lt_top Set.nontrivial_of_einfsep_lt_topₓ'. -/ theorem nontrivial_of_einfsep_lt_top (hs : s.einfsep < ∞) : s.Nontrivial := by rcases einfsep_lt_top.1 hs with ⟨_, hx, _, hy, hxy, _⟩ exact ⟨_, hx, _, hy, hxy⟩ #align set.nontrivial_of_einfsep_lt_top Set.nontrivial_of_einfsep_lt_top +/- warning: set.nontrivial_of_einfsep_ne_top -> Set.nontrivial_of_einfsep_ne_top is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, (Ne.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (Set.Nontrivial.{u1} α s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, (Ne.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (Set.Nontrivial.{u1} α s) +Case conversion may be inaccurate. Consider using '#align set.nontrivial_of_einfsep_ne_top Set.nontrivial_of_einfsep_ne_topₓ'. -/ theorem nontrivial_of_einfsep_ne_top (hs : s.einfsep ≠ ∞) : s.Nontrivial := nontrivial_of_einfsep_lt_top (lt_top_iff_ne_top.mpr hs) #align set.nontrivial_of_einfsep_ne_top Set.nontrivial_of_einfsep_ne_top +/- warning: set.subsingleton.einfsep -> Set.Subsingleton.einfsep is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, (Set.Subsingleton.{u1} α s) -> (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, (Set.Subsingleton.{u1} α s) -> (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) +Case conversion may be inaccurate. Consider using '#align set.subsingleton.einfsep Set.Subsingleton.einfsepₓ'. -/ theorem Subsingleton.einfsep (hs : s.Subsingleton) : s.einfsep = ∞ := by rw [einfsep_top] exact fun _ hx _ hy hxy => (hxy <| hs hx hy).elim #align set.subsingleton.einfsep Set.Subsingleton.einfsep +/- warning: set.le_einfsep_image_iff -> Set.le_einfsep_image_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : EDist.{u1} α] {d : ENNReal} {f : β -> α} {s : Set.{u2} β}, Iff (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) d (Set.einfsep.{u1} α _inst_1 (Set.image.{u2, u1} β α f s))) (forall (x : β), (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) x s) -> (forall (y : β), (Membership.Mem.{u2, u2} β (Set.{u2} β) (Set.hasMem.{u2} β) y s) -> (Ne.{succ u1} α (f x) (f y)) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) d (EDist.edist.{u1} α _inst_1 (f x) (f y))))) +but is expected to have type + forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : EDist.{u1} α] {d : ENNReal} {f : β -> α} {s : Set.{u2} β}, Iff (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) d (Set.einfsep.{u1} α _inst_1 (Set.image.{u2, u1} β α f s))) (forall (x : β), (Membership.mem.{u2, u2} β (Set.{u2} β) (Set.instMembershipSet.{u2} β) x s) -> (forall (y : β), (Membership.mem.{u2, u2} β (Set.{u2} β) (Set.instMembershipSet.{u2} β) y s) -> (Ne.{succ u1} α (f x) (f y)) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) d (EDist.edist.{u1} α _inst_1 (f x) (f y))))) +Case conversion may be inaccurate. Consider using '#align set.le_einfsep_image_iff Set.le_einfsep_image_iffₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem le_einfsep_image_iff {d} {f : β → α} {s : Set β} : d ≤ einfsep (f '' s) ↔ ∀ (x) (_ : x ∈ s) (y) (_ : y ∈ s), f x ≠ f y → d ≤ edist (f x) (f y) := by simp_rw [le_einfsep_iff, ball_image_iff] #align set.le_einfsep_image_iff Set.le_einfsep_image_iff +/- warning: set.le_edist_of_le_einfsep -> Set.le_edist_of_le_einfsep is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {d : ENNReal} {x : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall {y : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) d (Set.einfsep.{u1} α _inst_1 s)) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) d (EDist.edist.{u1} α _inst_1 x y))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {d : ENNReal} {x : α}, (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall {y : α}, (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) d (Set.einfsep.{u1} α _inst_1 s)) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) d (EDist.edist.{u1} α _inst_1 x y))) +Case conversion may be inaccurate. Consider using '#align set.le_edist_of_le_einfsep Set.le_edist_of_le_einfsepₓ'. -/ theorem le_edist_of_le_einfsep {d x} (hx : x ∈ s) {y} (hy : y ∈ s) (hxy : x ≠ y) (hd : d ≤ s.einfsep) : d ≤ edist x y := le_einfsep_iff.1 hd x hx y hy hxy #align set.le_edist_of_le_einfsep Set.le_edist_of_le_einfsep +/- warning: set.einfsep_le_edist_of_mem -> Set.einfsep_le_edist_of_mem is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {x : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall {y : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α _inst_1 s) (EDist.edist.{u1} α _inst_1 x y))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {x : α}, (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall {y : α}, (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α _inst_1 s) (EDist.edist.{u1} α _inst_1 x y))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_le_edist_of_mem Set.einfsep_le_edist_of_memₓ'. -/ theorem einfsep_le_edist_of_mem {x} (hx : x ∈ s) {y} (hy : y ∈ s) (hxy : x ≠ y) : s.einfsep ≤ edist x y := le_edist_of_le_einfsep hx hy hxy le_rfl #align set.einfsep_le_edist_of_mem Set.einfsep_le_edist_of_mem +/- warning: set.einfsep_le_of_mem_of_edist_le -> Set.einfsep_le_of_mem_of_edist_le is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {d : ENNReal} {x : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall {y : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (EDist.edist.{u1} α _inst_1 x y) d) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α _inst_1 s) d)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {d : ENNReal} {x : α}, (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall {y : α}, (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (EDist.edist.{u1} α _inst_1 x y) d) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α _inst_1 s) d)) +Case conversion may be inaccurate. Consider using '#align set.einfsep_le_of_mem_of_edist_le Set.einfsep_le_of_mem_of_edist_leₓ'. -/ theorem einfsep_le_of_mem_of_edist_le {d x} (hx : x ∈ s) {y} (hy : y ∈ s) (hxy : x ≠ y) (hxy' : edist x y ≤ d) : s.einfsep ≤ d := le_trans (einfsep_le_edist_of_mem hx hy hxy) hxy' #align set.einfsep_le_of_mem_of_edist_le Set.einfsep_le_of_mem_of_edist_le +/- warning: set.le_einfsep -> Set.le_einfsep is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {d : ENNReal}, (forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall (y : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) d (EDist.edist.{u1} α _inst_1 x y)))) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) d (Set.einfsep.{u1} α _inst_1 s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {d : ENNReal}, (forall (x : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall (y : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) d (EDist.edist.{u1} α _inst_1 x y)))) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) d (Set.einfsep.{u1} α _inst_1 s)) +Case conversion may be inaccurate. Consider using '#align set.le_einfsep Set.le_einfsepₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem le_einfsep {d} (h : ∀ (x) (_ : x ∈ s) (y) (_ : y ∈ s) (hxy : x ≠ y), d ≤ edist x y) : d ≤ s.einfsep := le_einfsep_iff.2 h #align set.le_einfsep Set.le_einfsep +/- warning: set.einfsep_empty -> Set.einfsep_empty is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α], Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α))) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α], Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.instEmptyCollectionSet.{u1} α))) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_empty Set.einfsep_emptyₓ'. -/ @[simp] theorem einfsep_empty : (∅ : Set α).einfsep = ∞ := subsingleton_empty.einfsep #align set.einfsep_empty Set.einfsep_empty +/- warning: set.einfsep_singleton -> Set.einfsep_singleton is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α}, Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α}, Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_singleton Set.einfsep_singletonₓ'. -/ @[simp] theorem einfsep_singleton : ({x} : Set α).einfsep = ∞ := subsingleton_singleton.einfsep #align set.einfsep_singleton Set.einfsep_singleton +/- warning: set.einfsep_Union_mem_option -> Set.einfsep_unionᵢ_mem_option is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {ι : Type.{u2}} (o : Option.{u2} ι) (s : ι -> (Set.{u1} α)), Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 (Set.unionᵢ.{u1, succ u2} α ι (fun (i : ι) => Set.unionᵢ.{u1, 0} α (Membership.Mem.{u2, u2} ι (Option.{u2} ι) (Option.hasMem.{u2} ι) i o) (fun (H : Membership.Mem.{u2, u2} ι (Option.{u2} ι) (Option.hasMem.{u2} ι) i o) => s i)))) (infᵢ.{0, succ u2} ENNReal (ConditionallyCompleteLattice.toHasInf.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι (fun (i : ι) => infᵢ.{0, 0} ENNReal (ConditionallyCompleteLattice.toHasInf.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) (Membership.Mem.{u2, u2} ι (Option.{u2} ι) (Option.hasMem.{u2} ι) i o) (fun (H : Membership.Mem.{u2, u2} ι (Option.{u2} ι) (Option.hasMem.{u2} ι) i o) => Set.einfsep.{u1} α _inst_1 (s i)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {ι : Type.{u2}} (o : Option.{u2} ι) (s : ι -> (Set.{u1} α)), Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 (Set.unionᵢ.{u1, succ u2} α ι (fun (i : ι) => Set.unionᵢ.{u1, 0} α (Membership.mem.{u2, u2} ι (Option.{u2} ι) (Option.instMembershipOption.{u2} ι) i o) (fun (H : Membership.mem.{u2, u2} ι (Option.{u2} ι) (Option.instMembershipOption.{u2} ι) i o) => s i)))) (infᵢ.{0, succ u2} ENNReal (ConditionallyCompleteLattice.toInfSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) ι (fun (i : ι) => infᵢ.{0, 0} ENNReal (ConditionallyCompleteLattice.toInfSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (Membership.mem.{u2, u2} ι (Option.{u2} ι) (Option.instMembershipOption.{u2} ι) i o) (fun (H : Membership.mem.{u2, u2} ι (Option.{u2} ι) (Option.instMembershipOption.{u2} ι) i o) => Set.einfsep.{u1} α _inst_1 (s i)))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_Union_mem_option Set.einfsep_unionᵢ_mem_optionₓ'. -/ theorem einfsep_unionᵢ_mem_option {ι : Type _} (o : Option ι) (s : ι → Set α) : (⋃ i ∈ o, s i).einfsep = ⨅ i ∈ o, (s i).einfsep := by cases o <;> simp #align set.einfsep_Union_mem_option Set.einfsep_unionᵢ_mem_option +/- warning: set.einfsep_anti -> Set.einfsep_anti is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {t : Set.{u1} α}, (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s t) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α _inst_1 t) (Set.einfsep.{u1} α _inst_1 s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} {t : Set.{u1} α}, (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) s t) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α _inst_1 t) (Set.einfsep.{u1} α _inst_1 s)) +Case conversion may be inaccurate. Consider using '#align set.einfsep_anti Set.einfsep_antiₓ'. -/ theorem einfsep_anti (hst : s ⊆ t) : t.einfsep ≤ s.einfsep := le_einfsep fun x hx y hy => einfsep_le_edist_of_mem (hst hx) (hst hy) #align set.einfsep_anti Set.einfsep_anti +/- warning: set.einfsep_insert_le -> Set.einfsep_insert_le is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {s : Set.{u1} α}, LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) (infᵢ.{0, succ u1} ENNReal (ConditionallyCompleteLattice.toHasInf.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) α (fun (y : α) => infᵢ.{0, 0} ENNReal (ConditionallyCompleteLattice.toHasInf.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) => infᵢ.{0, 0} ENNReal (ConditionallyCompleteLattice.toHasInf.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => EDist.edist.{u1} α _inst_1 x y)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {s : Set.{u1} α}, LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x s)) (infᵢ.{0, succ u1} ENNReal (ConditionallyCompleteLattice.toInfSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) α (fun (y : α) => infᵢ.{0, 0} ENNReal (ConditionallyCompleteLattice.toInfSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) => infᵢ.{0, 0} ENNReal (ConditionallyCompleteLattice.toInfSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => EDist.edist.{u1} α _inst_1 x y)))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_insert_le Set.einfsep_insert_leₓ'. -/ theorem einfsep_insert_le : (insert x s).einfsep ≤ ⨅ (y ∈ s) (hxy : x ≠ y), edist x y := by simp_rw [le_infᵢ_iff] refine' fun _ hy hxy => einfsep_le_edist_of_mem (mem_insert _ _) (mem_insert_of_mem _ hy) hxy #align set.einfsep_insert_le Set.einfsep_insert_le +/- warning: set.le_einfsep_pair -> Set.le_einfsep_pair is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {y : α}, LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Inf.inf.{0} ENNReal (SemilatticeInf.toHasInf.{0} ENNReal (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (EDist.edist.{u1} α _inst_1 x y) (EDist.edist.{u1} α _inst_1 y x)) (Set.einfsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {y : α}, LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Inf.inf.{0} ENNReal (Lattice.toInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (EDist.edist.{u1} α _inst_1 x y) (EDist.edist.{u1} α _inst_1 y x)) (Set.einfsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) +Case conversion may be inaccurate. Consider using '#align set.le_einfsep_pair Set.le_einfsep_pairₓ'. -/ theorem le_einfsep_pair : edist x y ⊓ edist y x ≤ ({x, y} : Set α).einfsep := by simp_rw [le_einfsep_iff, inf_le_iff, mem_insert_iff, mem_singleton_iff] rintro a (rfl | rfl) b (rfl | rfl) hab <;> finish #align set.le_einfsep_pair Set.le_einfsep_pair +/- warning: set.einfsep_pair_le_left -> Set.einfsep_pair_le_left is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {y : α}, (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (EDist.edist.{u1} α _inst_1 x y)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {y : α}, (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (EDist.edist.{u1} α _inst_1 x y)) +Case conversion may be inaccurate. Consider using '#align set.einfsep_pair_le_left Set.einfsep_pair_le_leftₓ'. -/ theorem einfsep_pair_le_left (hxy : x ≠ y) : ({x, y} : Set α).einfsep ≤ edist x y := einfsep_le_edist_of_mem (mem_insert _ _) (mem_insert_of_mem _ (mem_singleton _)) hxy #align set.einfsep_pair_le_left Set.einfsep_pair_le_left +/- warning: set.einfsep_pair_le_right -> Set.einfsep_pair_le_right is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {y : α}, (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (EDist.edist.{u1} α _inst_1 y x)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {y : α}, (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (EDist.edist.{u1} α _inst_1 y x)) +Case conversion may be inaccurate. Consider using '#align set.einfsep_pair_le_right Set.einfsep_pair_le_rightₓ'. -/ theorem einfsep_pair_le_right (hxy : x ≠ y) : ({x, y} : Set α).einfsep ≤ edist y x := by rw [pair_comm] <;> exact einfsep_pair_le_left hxy.symm #align set.einfsep_pair_le_right Set.einfsep_pair_le_right +/- warning: set.einfsep_pair_eq_inf -> Set.einfsep_pair_eq_inf is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {y : α}, (Ne.{succ u1} α x y) -> (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (Inf.inf.{0} ENNReal (SemilatticeInf.toHasInf.{0} ENNReal (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (EDist.edist.{u1} α _inst_1 x y) (EDist.edist.{u1} α _inst_1 y x))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {y : α}, (Ne.{succ u1} α x y) -> (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (Inf.inf.{0} ENNReal (Lattice.toInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (EDist.edist.{u1} α _inst_1 x y) (EDist.edist.{u1} α _inst_1 y x))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_pair_eq_inf Set.einfsep_pair_eq_infₓ'. -/ theorem einfsep_pair_eq_inf (hxy : x ≠ y) : ({x, y} : Set α).einfsep = edist x y ⊓ edist y x := le_antisymm (le_inf (einfsep_pair_le_left hxy) (einfsep_pair_le_right hxy)) le_einfsep_pair #align set.einfsep_pair_eq_inf Set.einfsep_pair_eq_inf +/- warning: set.einfsep_eq_infi -> Set.einfsep_eq_infᵢ is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (infᵢ.{0, succ u1} ENNReal (ConditionallyCompleteLattice.toHasInf.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (fun (d : coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) => Function.uncurry.{u1, u1, 0} α α ENNReal (EDist.edist.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (coeSubtype.{succ u1} (Prod.{u1, u1} α α) (fun (x : Prod.{u1, u1} α α) => Membership.Mem.{u1, u1} (Prod.{u1, u1} α α) (Set.{u1} (Prod.{u1, u1} α α)) (Set.hasMem.{u1} (Prod.{u1, u1} α α)) x (Set.offDiag.{u1} α s)))))) d))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (infᵢ.{0, succ u1} ENNReal (ConditionallyCompleteLattice.toInfSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (Set.Elem.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) (fun (d : Set.Elem.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) => Function.uncurry.{u1, u1, 0} α α ENNReal (EDist.edist.{u1} α _inst_1) (Subtype.val.{succ u1} (Prod.{u1, u1} α α) (fun (x : Prod.{u1, u1} α α) => Membership.mem.{u1, u1} (Prod.{u1, u1} α α) (Set.{u1} (Prod.{u1, u1} α α)) (Set.instMembershipSet.{u1} (Prod.{u1, u1} α α)) x (Set.offDiag.{u1} α s)) d))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_eq_infi Set.einfsep_eq_infᵢₓ'. -/ theorem einfsep_eq_infᵢ : s.einfsep = ⨅ d : s.offDiag, (uncurry edist) (d : α × α) := by refine' eq_of_forall_le_iff fun _ => _ @@ -188,6 +340,12 @@ theorem einfsep_eq_infᵢ : s.einfsep = ⨅ d : s.offDiag, (uncurry edist) (d : Prod.forall, uncurry_apply_pair, and_imp] #align set.einfsep_eq_infi Set.einfsep_eq_infᵢ +/- warning: set.einfsep_of_fintype -> Set.einfsep_of_fintype is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} [_inst_2 : DecidableEq.{succ u1} α] [_inst_3 : Fintype.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s)], Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Finset.inf.{0, u1} ENNReal (Prod.{u1, u1} α α) (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (LinearOrderedAddCommMonoidWithTop.toOrderTop.{0} ENNReal ENNReal.linearOrderedAddCommMonoidWithTop) (Set.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s _inst_3)) (Function.uncurry.{u1, u1, 0} α α ENNReal (EDist.edist.{u1} α _inst_1))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} [_inst_2 : DecidableEq.{succ u1} α] [_inst_3 : Fintype.{u1} (Set.Elem.{u1} α s)], Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Finset.inf.{0, u1} ENNReal (Prod.{u1, u1} α α) (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (BoundedOrder.toOrderTop.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (SemilatticeInf.toPartialOrder.{0} ENNReal (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))))) ENNReal.instBoundedOrderENNRealToLEToPreorderToPartialOrderToSemilatticeInfToLatticeInstENNRealDistribLattice) (Set.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s _inst_3)) (Function.uncurry.{u1, u1, 0} α α ENNReal (EDist.edist.{u1} α _inst_1))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_of_fintype Set.einfsep_of_fintypeₓ'. -/ theorem einfsep_of_fintype [DecidableEq α] [Fintype s] : s.einfsep = s.offDiag.toFinset.inf (uncurry edist) := by @@ -196,6 +354,12 @@ theorem einfsep_of_fintype [DecidableEq α] [Fintype s] : Prod.forall, uncurry_apply_pair, and_imp] #align set.einfsep_of_fintype Set.einfsep_of_fintype +/- warning: set.finite.einfsep -> Set.Finite.einfsep is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} (hs : Set.Finite.{u1} α s), Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Finset.inf.{0, u1} ENNReal (Prod.{u1, u1} α α) (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (LinearOrderedAddCommMonoidWithTop.toOrderTop.{0} ENNReal ENNReal.linearOrderedAddCommMonoidWithTop) (Set.Finite.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hs)) (Function.uncurry.{u1, u1, 0} α α ENNReal (EDist.edist.{u1} α _inst_1))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α} (hs : Set.Finite.{u1} α s), Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Finset.inf.{0, u1} ENNReal (Prod.{u1, u1} α α) (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (BoundedOrder.toOrderTop.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (SemilatticeInf.toPartialOrder.{0} ENNReal (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))))) ENNReal.instBoundedOrderENNRealToLEToPreorderToPartialOrderToSemilatticeInfToLatticeInstENNRealDistribLattice) (Set.Finite.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hs)) (Function.uncurry.{u1, u1, 0} α α ENNReal (EDist.edist.{u1} α _inst_1))) +Case conversion may be inaccurate. Consider using '#align set.finite.einfsep Set.Finite.einfsepₓ'. -/ theorem Finite.einfsep (hs : s.Finite) : s.einfsep = hs.offDiag.toFinset.inf (uncurry edist) := by refine' eq_of_forall_le_iff fun _ => _ @@ -203,12 +367,19 @@ theorem Finite.einfsep (hs : s.Finite) : s.einfsep = hs.offDiag.toFinset.inf (un Prod.forall, uncurry_apply_pair, and_imp] #align set.finite.einfsep Set.Finite.einfsep +/- warning: set.finset.coe_einfsep -> Set.Finset.coe_einfsep is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {s : Finset.{u1} α}, Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)) (Finset.inf.{0, u1} ENNReal (Prod.{u1, u1} α α) (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (LinearOrderedAddCommMonoidWithTop.toOrderTop.{0} ENNReal ENNReal.linearOrderedAddCommMonoidWithTop) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s) (Function.uncurry.{u1, u1, 0} α α ENNReal (EDist.edist.{u1} α _inst_1))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {s : Finset.{u1} α}, Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 (Finset.toSet.{u1} α s)) (Finset.inf.{0, u1} ENNReal (Prod.{u1, u1} α α) (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (BoundedOrder.toOrderTop.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (SemilatticeInf.toPartialOrder.{0} ENNReal (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))))))) ENNReal.instBoundedOrderENNRealToLEToPreorderToPartialOrderToSemilatticeInfToLatticeInstENNRealDistribLattice) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s) (Function.uncurry.{u1, u1, 0} α α ENNReal (EDist.edist.{u1} α _inst_1))) +Case conversion may be inaccurate. Consider using '#align set.finset.coe_einfsep Set.Finset.coe_einfsepₓ'. -/ theorem Finset.coe_einfsep [DecidableEq α] {s : Finset α} : (s : Set α).einfsep = s.offDiag.inf (uncurry edist) := by simp_rw [einfsep_of_fintype, ← Finset.coe_offDiag, Finset.toFinset_coe] #align set.finset.coe_einfsep Set.Finset.coe_einfsep /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ +#print Set.Nontrivial.einfsep_exists_of_finite /- theorem Nontrivial.einfsep_exists_of_finite [Finite s] (hs : s.Nontrivial) : ∃ (x : _)(_ : x ∈ s)(y : _)(_ : y ∈ s)(hxy : x ≠ y), s.einfsep = edist x y := by classical @@ -219,13 +390,16 @@ theorem Nontrivial.einfsep_exists_of_finite [Finite s] (hs : s.Nontrivial) : simp_rw [mem_to_finset] at hxy refine' ⟨w.fst, hxy.1, w.snd, hxy.2.1, hxy.2.2, hed⟩ #align set.nontrivial.einfsep_exists_of_finite Set.Nontrivial.einfsep_exists_of_finite +-/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ +#print Set.Finite.einfsep_exists_of_nontrivial /- theorem Finite.einfsep_exists_of_nontrivial (hsf : s.Finite) (hs : s.Nontrivial) : ∃ (x : _)(_ : x ∈ s)(y : _)(_ : y ∈ s)(hxy : x ≠ y), s.einfsep = edist x y := letI := hsf.fintype hs.einfsep_exists_of_finite #align set.finite.einfsep_exists_of_nontrivial Set.Finite.einfsep_exists_of_nontrivial +-/ end EDist @@ -233,13 +407,21 @@ section PseudoEMetricSpace variable [PseudoEMetricSpace α] {x y z : α} {s t : Set α} +#print Set.einfsep_pair /- theorem einfsep_pair (hxy : x ≠ y) : ({x, y} : Set α).einfsep = edist x y := by nth_rw 1 [← min_self (edist x y)] convert einfsep_pair_eq_inf hxy using 2 rw [edist_comm] #align set.einfsep_pair Set.einfsep_pair +-/ +/- warning: set.einfsep_insert -> Set.einfsep_insert is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoEMetricSpace.{u1} α] {x : α} {s : Set.{u1} α}, Eq.{1} ENNReal (Set.einfsep.{u1} α (PseudoEMetricSpace.toHasEdist.{u1} α _inst_1) (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) (Inf.inf.{0} ENNReal (SemilatticeInf.toHasInf.{0} ENNReal (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (infᵢ.{0, succ u1} ENNReal (ConditionallyCompleteLattice.toHasInf.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) α (fun (y : α) => infᵢ.{0, 0} ENNReal (ConditionallyCompleteLattice.toHasInf.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) => infᵢ.{0, 0} ENNReal (ConditionallyCompleteLattice.toHasInf.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => EDist.edist.{u1} α (PseudoEMetricSpace.toHasEdist.{u1} α _inst_1) x y)))) (Set.einfsep.{u1} α (PseudoEMetricSpace.toHasEdist.{u1} α _inst_1) s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoEMetricSpace.{u1} α] {x : α} {s : Set.{u1} α}, Eq.{1} ENNReal (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α _inst_1) (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x s)) (Inf.inf.{0} ENNReal (Lattice.toInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (infᵢ.{0, succ u1} ENNReal (ConditionallyCompleteLattice.toInfSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) α (fun (y : α) => infᵢ.{0, 0} ENNReal (ConditionallyCompleteLattice.toInfSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) => infᵢ.{0, 0} ENNReal (ConditionallyCompleteLattice.toInfSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => EDist.edist.{u1} α (PseudoEMetricSpace.toEDist.{u1} α _inst_1) x y)))) (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α _inst_1) s)) +Case conversion may be inaccurate. Consider using '#align set.einfsep_insert Set.einfsep_insertₓ'. -/ theorem einfsep_insert : einfsep (insert x s) = (⨅ (y ∈ s) (hxy : x ≠ y), edist x y) ⊓ s.einfsep := by refine' le_antisymm (le_min einfsep_insert_le (einfsep_anti (subset_insert _ _))) _ @@ -252,12 +434,24 @@ theorem einfsep_insert : einfsep (insert x s) = (⨅ (y ∈ s) (hxy : x ≠ y), · exact Or.inr (einfsep_le_edist_of_mem hy hz hyz) #align set.einfsep_insert Set.einfsep_insert +/- warning: set.einfsep_triple -> Set.einfsep_triple is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoEMetricSpace.{u1} α] {x : α} {y : α} {z : α}, (Ne.{succ u1} α x y) -> (Ne.{succ u1} α y z) -> (Ne.{succ u1} α x z) -> (Eq.{1} ENNReal (Set.einfsep.{u1} α (PseudoEMetricSpace.toHasEdist.{u1} α _inst_1) (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) y (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) z)))) (Inf.inf.{0} ENNReal (SemilatticeInf.toHasInf.{0} ENNReal (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Inf.inf.{0} ENNReal (SemilatticeInf.toHasInf.{0} ENNReal (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (EDist.edist.{u1} α (PseudoEMetricSpace.toHasEdist.{u1} α _inst_1) x y) (EDist.edist.{u1} α (PseudoEMetricSpace.toHasEdist.{u1} α _inst_1) x z)) (EDist.edist.{u1} α (PseudoEMetricSpace.toHasEdist.{u1} α _inst_1) y z))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoEMetricSpace.{u1} α] {x : α} {y : α} {z : α}, (Ne.{succ u1} α x y) -> (Ne.{succ u1} α y z) -> (Ne.{succ u1} α x z) -> (Eq.{1} ENNReal (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α _inst_1) (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) y (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) z)))) (Inf.inf.{0} ENNReal (Lattice.toInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Inf.inf.{0} ENNReal (Lattice.toInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (EDist.edist.{u1} α (PseudoEMetricSpace.toEDist.{u1} α _inst_1) x y) (EDist.edist.{u1} α (PseudoEMetricSpace.toEDist.{u1} α _inst_1) x z)) (EDist.edist.{u1} α (PseudoEMetricSpace.toEDist.{u1} α _inst_1) y z))) +Case conversion may be inaccurate. Consider using '#align set.einfsep_triple Set.einfsep_tripleₓ'. -/ theorem einfsep_triple (hxy : x ≠ y) (hyz : y ≠ z) (hxz : x ≠ z) : einfsep ({x, y, z} : Set α) = edist x y ⊓ edist x z ⊓ edist y z := by simp_rw [einfsep_insert, infᵢ_insert, infᵢ_singleton, einfsep_singleton, inf_top_eq, cinfᵢ_pos hxy, cinfᵢ_pos hyz, cinfᵢ_pos hxz] #align set.einfsep_triple Set.einfsep_triple +/- warning: set.le_einfsep_pi_of_le -> Set.le_einfsep_pi_of_le is a dubious translation: +lean 3 declaration is + forall {β : Type.{u1}} {π : β -> Type.{u2}} [_inst_2 : Fintype.{u1} β] [_inst_3 : forall (b : β), PseudoEMetricSpace.{u2} (π b)] {s : forall (b : β), Set.{u2} (π b)} {c : ENNReal}, (forall (b : β), LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) c (Set.einfsep.{u2} (π b) (PseudoEMetricSpace.toHasEdist.{u2} (π b) (_inst_3 b)) (s b))) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) c (Set.einfsep.{max u1 u2} (forall (i : β), π i) (PseudoEMetricSpace.toHasEdist.{max u1 u2} (forall (i : β), π i) (pseudoEMetricSpacePi.{u1, u2} β (fun (i : β) => π i) _inst_2 (fun (b : β) => _inst_3 b))) (Set.pi.{u1, u2} β (fun (b : β) => π b) (Set.univ.{u1} β) s))) +but is expected to have type + forall {β : Type.{u1}} {π : β -> Type.{u2}} [_inst_2 : Fintype.{u1} β] [_inst_3 : forall (b : β), PseudoEMetricSpace.{u2} (π b)] {s : forall (b : β), Set.{u2} (π b)} {c : ENNReal}, (forall (b : β), LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) c (Set.einfsep.{u2} (π b) (PseudoEMetricSpace.toEDist.{u2} (π b) (_inst_3 b)) (s b))) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) c (Set.einfsep.{max u2 u1} (forall (i : β), π i) (instEDistForAll.{u1, u2} β (fun (i : β) => π i) _inst_2 (fun (b : β) => PseudoEMetricSpace.toEDist.{u2} (π b) (_inst_3 b))) (Set.pi.{u1, u2} β (fun (b : β) => π b) (Set.univ.{u1} β) s))) +Case conversion may be inaccurate. Consider using '#align set.le_einfsep_pi_of_le Set.le_einfsep_pi_of_leₓ'. -/ theorem le_einfsep_pi_of_le {π : β → Type _} [Fintype β] [∀ b, PseudoEMetricSpace (π b)] {s : ∀ b : β, Set (π b)} {c : ℝ≥0∞} (h : ∀ b, c ≤ einfsep (s b)) : c ≤ einfsep (Set.pi univ s) := @@ -274,16 +468,34 @@ section PseudoMetricSpace variable [PseudoMetricSpace α] {s : Set α} +/- warning: set.subsingleton_of_einfsep_eq_top -> Set.subsingleton_of_einfsep_eq_top is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, (Eq.{1} ENNReal (Set.einfsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (Set.Subsingleton.{u1} α s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, (Eq.{1} ENNReal (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (Set.Subsingleton.{u1} α s) +Case conversion may be inaccurate. Consider using '#align set.subsingleton_of_einfsep_eq_top Set.subsingleton_of_einfsep_eq_topₓ'. -/ theorem subsingleton_of_einfsep_eq_top (hs : s.einfsep = ∞) : s.Subsingleton := by rw [einfsep_top] at hs exact fun _ hx _ hy => of_not_not fun hxy => edist_ne_top _ _ (hs _ hx _ hy hxy) #align set.subsingleton_of_einfsep_eq_top Set.subsingleton_of_einfsep_eq_top +/- warning: set.einfsep_eq_top_iff -> Set.einfsep_eq_top_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, Iff (Eq.{1} ENNReal (Set.einfsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (Set.Subsingleton.{u1} α s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, Iff (Eq.{1} ENNReal (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (Set.Subsingleton.{u1} α s) +Case conversion may be inaccurate. Consider using '#align set.einfsep_eq_top_iff Set.einfsep_eq_top_iffₓ'. -/ theorem einfsep_eq_top_iff : s.einfsep = ∞ ↔ s.Subsingleton := ⟨subsingleton_of_einfsep_eq_top, Subsingleton.einfsep⟩ #align set.einfsep_eq_top_iff Set.einfsep_eq_top_iff +/- warning: set.nontrivial.einfsep_ne_top -> Set.Nontrivial.einfsep_ne_top is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Nontrivial.{u1} α s) -> (Ne.{1} ENNReal (Set.einfsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Nontrivial.{u1} α s) -> (Ne.{1} ENNReal (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) +Case conversion may be inaccurate. Consider using '#align set.nontrivial.einfsep_ne_top Set.Nontrivial.einfsep_ne_topₓ'. -/ theorem Nontrivial.einfsep_ne_top (hs : s.Nontrivial) : s.einfsep ≠ ∞ := by contrapose! hs @@ -291,20 +503,44 @@ theorem Nontrivial.einfsep_ne_top (hs : s.Nontrivial) : s.einfsep ≠ ∞ := exact subsingleton_of_einfsep_eq_top hs #align set.nontrivial.einfsep_ne_top Set.Nontrivial.einfsep_ne_top +/- warning: set.nontrivial.einfsep_lt_top -> Set.Nontrivial.einfsep_lt_top is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Nontrivial.{u1} α s) -> (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Nontrivial.{u1} α s) -> (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) +Case conversion may be inaccurate. Consider using '#align set.nontrivial.einfsep_lt_top Set.Nontrivial.einfsep_lt_topₓ'. -/ theorem Nontrivial.einfsep_lt_top (hs : s.Nontrivial) : s.einfsep < ∞ := by rw [lt_top_iff_ne_top] exact hs.einfsep_ne_top #align set.nontrivial.einfsep_lt_top Set.Nontrivial.einfsep_lt_top +/- warning: set.einfsep_lt_top_iff -> Set.einfsep_lt_top_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, Iff (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (Set.Nontrivial.{u1} α s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, Iff (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (Set.Nontrivial.{u1} α s) +Case conversion may be inaccurate. Consider using '#align set.einfsep_lt_top_iff Set.einfsep_lt_top_iffₓ'. -/ theorem einfsep_lt_top_iff : s.einfsep < ∞ ↔ s.Nontrivial := ⟨nontrivial_of_einfsep_lt_top, Nontrivial.einfsep_lt_top⟩ #align set.einfsep_lt_top_iff Set.einfsep_lt_top_iff +/- warning: set.einfsep_ne_top_iff -> Set.einfsep_ne_top_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, Iff (Ne.{1} ENNReal (Set.einfsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) (Set.Nontrivial.{u1} α s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, Iff (Ne.{1} ENNReal (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) (Set.Nontrivial.{u1} α s) +Case conversion may be inaccurate. Consider using '#align set.einfsep_ne_top_iff Set.einfsep_ne_top_iffₓ'. -/ theorem einfsep_ne_top_iff : s.einfsep ≠ ∞ ↔ s.Nontrivial := ⟨nontrivial_of_einfsep_ne_top, Nontrivial.einfsep_ne_top⟩ #align set.einfsep_ne_top_iff Set.einfsep_ne_top_iff +/- warning: set.le_einfsep_of_forall_dist_le -> Set.le_einfsep_of_forall_dist_le is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real}, (forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall (y : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.hasLe d (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1) x y)))) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (ENNReal.ofReal d) (Set.einfsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real}, (forall (x : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall (y : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.instLEReal d (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1) x y)))) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (ENNReal.ofReal d) (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s)) +Case conversion may be inaccurate. Consider using '#align set.le_einfsep_of_forall_dist_le Set.le_einfsep_of_forall_dist_leₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem le_einfsep_of_forall_dist_le {d} (h : ∀ (x) (_ : x ∈ s) (y) (_ : y ∈ s) (hxy : x ≠ y), d ≤ dist x y) : @@ -318,6 +554,12 @@ section EMetricSpace variable [EMetricSpace α] {x y z : α} {s t : Set α} {C : ℝ≥0∞} {sC : Set ℝ≥0∞} +/- warning: set.einfsep_pos_of_finite -> Set.einfsep_pos_of_finite is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EMetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Finite.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s)], LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) (Set.einfsep.{u1} α (PseudoEMetricSpace.toHasEdist.{u1} α (EMetricSpace.toPseudoEmetricSpace.{u1} α _inst_1)) s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EMetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Finite.{succ u1} (Set.Elem.{u1} α s)], LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (EMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) +Case conversion may be inaccurate. Consider using '#align set.einfsep_pos_of_finite Set.einfsep_pos_of_finiteₓ'. -/ theorem einfsep_pos_of_finite [Finite s] : 0 < s.einfsep := by cases nonempty_fintype s @@ -328,6 +570,12 @@ theorem einfsep_pos_of_finite [Finite s] : 0 < s.einfsep := exact hs.einfsep.symm ▸ WithTop.zero_lt_top #align set.einfsep_pos_of_finite Set.einfsep_pos_of_finite +/- warning: set.relatively_discrete_of_finite -> Set.relatively_discrete_of_finite is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EMetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Finite.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s)], Exists.{1} ENNReal (fun (C : ENNReal) => Exists.{0} (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) C) (fun (hC : LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) C) => forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall (y : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) C (EDist.edist.{u1} α (PseudoEMetricSpace.toHasEdist.{u1} α (EMetricSpace.toPseudoEmetricSpace.{u1} α _inst_1)) x y))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EMetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Finite.{succ u1} (Set.Elem.{u1} α s)], Exists.{1} ENNReal (fun (C : ENNReal) => Exists.{0} (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) C) (fun (hC : LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) C) => forall (x : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall (y : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) C (EDist.edist.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (EMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) x y))))) +Case conversion may be inaccurate. Consider using '#align set.relatively_discrete_of_finite Set.relatively_discrete_of_finiteₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem relatively_discrete_of_finite [Finite s] : ∃ (C : _)(hC : 0 < C), ∀ (x) (_ : x ∈ s) (y) (_ : y ∈ s) (hxy : x ≠ y), C ≤ edist x y := @@ -336,11 +584,23 @@ theorem relatively_discrete_of_finite [Finite s] : exact einfsep_pos_of_finite #align set.relatively_discrete_of_finite Set.relatively_discrete_of_finite +/- warning: set.finite.einfsep_pos -> Set.Finite.einfsep_pos is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EMetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Finite.{u1} α s) -> (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) (Set.einfsep.{u1} α (PseudoEMetricSpace.toHasEdist.{u1} α (EMetricSpace.toPseudoEmetricSpace.{u1} α _inst_1)) s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EMetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Finite.{u1} α s) -> (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) (Set.einfsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (EMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s)) +Case conversion may be inaccurate. Consider using '#align set.finite.einfsep_pos Set.Finite.einfsep_posₓ'. -/ theorem Finite.einfsep_pos (hs : s.Finite) : 0 < s.einfsep := letI := hs.fintype einfsep_pos_of_finite #align set.finite.einfsep_pos Set.Finite.einfsep_pos +/- warning: set.finite.relatively_discrete -> Set.Finite.relatively_discrete is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EMetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Finite.{u1} α s) -> (Exists.{1} ENNReal (fun (C : ENNReal) => Exists.{0} (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) C) (fun (hC : LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) C) => forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall (y : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) C (EDist.edist.{u1} α (PseudoEMetricSpace.toHasEdist.{u1} α (EMetricSpace.toPseudoEmetricSpace.{u1} α _inst_1)) x y)))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EMetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Finite.{u1} α s) -> (Exists.{1} ENNReal (fun (C : ENNReal) => Exists.{0} (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) C) (fun (hC : LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) C) => forall (x : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall (y : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) C (EDist.edist.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (EMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) x y)))))) +Case conversion may be inaccurate. Consider using '#align set.finite.relatively_discrete Set.Finite.relatively_discreteₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem Finite.relatively_discrete (hs : s.Finite) : ∃ (C : _)(hC : 0 < C), ∀ (x) (_ : x ∈ s) (y) (_ : y ∈ s) (hxy : x ≠ y), C ≤ edist x y := @@ -358,27 +618,53 @@ open ENNReal open Set Function +#print Set.infsep /- /-- The "infimum separation" of a set with an edist function. -/ noncomputable def infsep [EDist α] (s : Set α) : ℝ := ENNReal.toReal s.einfsep #align set.infsep Set.infsep +-/ section EDist variable [EDist α] {x y : α} {s : Set α} +/- warning: set.infsep_zero -> Set.infsep_zero is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (Eq.{1} Real (Set.infsep.{u1} α _inst_1 s) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (Or (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))) (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (Eq.{1} Real (Set.infsep.{u1} α _inst_1 s) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (Or (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) (Eq.{1} ENNReal (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) +Case conversion may be inaccurate. Consider using '#align set.infsep_zero Set.infsep_zeroₓ'. -/ theorem infsep_zero : s.infsep = 0 ↔ s.einfsep = 0 ∨ s.einfsep = ∞ := by rw [infsep, ENNReal.toReal_eq_zero_iff] #align set.infsep_zero Set.infsep_zero +/- warning: set.infsep_nonneg -> Set.infsep_nonneg is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Set.infsep.{u1} α _inst_1 s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Set.infsep.{u1} α _inst_1 s) +Case conversion may be inaccurate. Consider using '#align set.infsep_nonneg Set.infsep_nonnegₓ'. -/ theorem infsep_nonneg : 0 ≤ s.infsep := ENNReal.toReal_nonneg #align set.infsep_nonneg Set.infsep_nonneg +/- warning: set.infsep_pos -> Set.infsep_pos is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Set.infsep.{u1} α _inst_1 s)) (And (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) (Set.einfsep.{u1} α _inst_1 s)) (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, Iff (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Set.infsep.{u1} α _inst_1 s)) (And (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) (Set.einfsep.{u1} α _inst_1 s)) (LT.lt.{0} ENNReal (Preorder.toLT.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (Set.einfsep.{u1} α _inst_1 s) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) +Case conversion may be inaccurate. Consider using '#align set.infsep_pos Set.infsep_posₓ'. -/ theorem infsep_pos : 0 < s.infsep ↔ 0 < s.einfsep ∧ s.einfsep < ∞ := by simp_rw [infsep, ENNReal.toReal_pos_iff] #align set.infsep_pos Set.infsep_pos +/- warning: set.subsingleton.infsep_zero -> Set.Subsingleton.infsep_zero is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, (Set.Subsingleton.{u1} α s) -> (Eq.{1} Real (Set.infsep.{u1} α _inst_1 s) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, (Set.Subsingleton.{u1} α s) -> (Eq.{1} Real (Set.infsep.{u1} α _inst_1 s) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) +Case conversion may be inaccurate. Consider using '#align set.subsingleton.infsep_zero Set.Subsingleton.infsep_zeroₓ'. -/ theorem Subsingleton.infsep_zero (hs : s.Subsingleton) : s.infsep = 0 := by rw [infsep_zero, hs.einfsep] @@ -386,6 +672,12 @@ theorem Subsingleton.infsep_zero (hs : s.Subsingleton) : s.infsep = 0 := rfl #align set.subsingleton.infsep_zero Set.Subsingleton.infsep_zero +/- warning: set.nontrivial_of_infsep_pos -> Set.nontrivial_of_infsep_pos is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Set.infsep.{u1} α _inst_1 s)) -> (Set.Nontrivial.{u1} α s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {s : Set.{u1} α}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Set.infsep.{u1} α _inst_1 s)) -> (Set.Nontrivial.{u1} α s) +Case conversion may be inaccurate. Consider using '#align set.nontrivial_of_infsep_pos Set.nontrivial_of_infsep_posₓ'. -/ theorem nontrivial_of_infsep_pos (hs : 0 < s.infsep) : s.Nontrivial := by contrapose hs @@ -393,14 +685,32 @@ theorem nontrivial_of_infsep_pos (hs : 0 < s.infsep) : s.Nontrivial := exact hs.infsep_zero ▸ lt_irrefl _ #align set.nontrivial_of_infsep_pos Set.nontrivial_of_infsep_pos +/- warning: set.infsep_empty -> Set.infsep_empty is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α], Eq.{1} Real (Set.infsep.{u1} α _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α))) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α], Eq.{1} Real (Set.infsep.{u1} α _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.instEmptyCollectionSet.{u1} α))) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) +Case conversion may be inaccurate. Consider using '#align set.infsep_empty Set.infsep_emptyₓ'. -/ theorem infsep_empty : (∅ : Set α).infsep = 0 := subsingleton_empty.infsep_zero #align set.infsep_empty Set.infsep_empty +/- warning: set.infsep_singleton -> Set.infsep_singleton is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α}, Eq.{1} Real (Set.infsep.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α}, Eq.{1} Real (Set.infsep.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) +Case conversion may be inaccurate. Consider using '#align set.infsep_singleton Set.infsep_singletonₓ'. -/ theorem infsep_singleton : ({x} : Set α).infsep = 0 := subsingleton_singleton.infsep_zero #align set.infsep_singleton Set.infsep_singleton +/- warning: set.infsep_pair_le_to_real_inf -> Set.infsep_pair_le_toReal_inf is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {y : α}, (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.hasLe (Set.infsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (ENNReal.toReal (Inf.inf.{0} ENNReal (SemilatticeInf.toHasInf.{0} ENNReal (Lattice.toSemilatticeInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (EDist.edist.{u1} α _inst_1 x y) (EDist.edist.{u1} α _inst_1 y x)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : EDist.{u1} α] {x : α} {y : α}, (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.instLEReal (Set.infsep.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (ENNReal.toReal (Inf.inf.{0} ENNReal (Lattice.toInf.{0} ENNReal (ConditionallyCompleteLattice.toLattice.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (EDist.edist.{u1} α _inst_1 x y) (EDist.edist.{u1} α _inst_1 y x)))) +Case conversion may be inaccurate. Consider using '#align set.infsep_pair_le_to_real_inf Set.infsep_pair_le_toReal_infₓ'. -/ theorem infsep_pair_le_toReal_inf (hxy : x ≠ y) : ({x, y} : Set α).infsep ≤ (edist x y ⊓ edist y x).toReal := by simp_rw [infsep, einfsep_pair_eq_inf hxy] @@ -412,6 +722,7 @@ section PseudoEMetricSpace variable [PseudoEMetricSpace α] {x y : α} {s : Set α} +#print Set.infsep_pair_eq_toReal /- theorem infsep_pair_eq_toReal : ({x, y} : Set α).infsep = (edist x y).toReal := by by_cases hxy : x = y @@ -419,6 +730,7 @@ theorem infsep_pair_eq_toReal : ({x, y} : Set α).infsep = (edist x y).toReal := simp only [infsep_singleton, pair_eq_singleton, edist_self, ENNReal.zero_toReal] · rw [infsep, einfsep_pair hxy] #align set.infsep_pair_eq_to_real Set.infsep_pair_eq_toReal +-/ end PseudoEMetricSpace @@ -426,6 +738,12 @@ section PseudoMetricSpace variable [PseudoMetricSpace α] {x y z : α} {s t : Set α} +/- warning: set.nontrivial.le_infsep_iff -> Set.Nontrivial.le_infsep_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real}, (Set.Nontrivial.{u1} α s) -> (Iff (LE.le.{0} Real Real.hasLe d (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s)) (forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall (y : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.hasLe d (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1) x y))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real}, (Set.Nontrivial.{u1} α s) -> (Iff (LE.le.{0} Real Real.instLEReal d (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s)) (forall (x : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall (y : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.instLEReal d (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1) x y))))) +Case conversion may be inaccurate. Consider using '#align set.nontrivial.le_infsep_iff Set.Nontrivial.le_infsep_iffₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem Nontrivial.le_infsep_iff {d} (hs : s.Nontrivial) : d ≤ s.infsep ↔ ∀ (x) (_ : x ∈ s) (y) (_ : y ∈ s) (hxy : x ≠ y), d ≤ dist x y := by @@ -433,6 +751,12 @@ theorem Nontrivial.le_infsep_iff {d} (hs : s.Nontrivial) : ENNReal.ofReal_le_ofReal_iff dist_nonneg] #align set.nontrivial.le_infsep_iff Set.Nontrivial.le_infsep_iff +/- warning: set.nontrivial.infsep_lt_iff -> Set.Nontrivial.infsep_lt_iff is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real}, (Set.Nontrivial.{u1} α s) -> (Iff (LT.lt.{0} Real Real.hasLt (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) d) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) (fun (H : Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) => Exists.{0} (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => LT.lt.{0} Real Real.hasLt (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1) x y) d))))))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real}, (Set.Nontrivial.{u1} α s) -> (Iff (LT.lt.{0} Real Real.instLTReal (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) d) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) (fun (H : Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) => Exists.{0} (Ne.{succ u1} α x y) (fun (hxy : Ne.{succ u1} α x y) => LT.lt.{0} Real Real.instLTReal (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1) x y) d))))))) +Case conversion may be inaccurate. Consider using '#align set.nontrivial.infsep_lt_iff Set.Nontrivial.infsep_lt_iffₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem Nontrivial.infsep_lt_iff {d} (hs : s.Nontrivial) : s.infsep < d ↔ ∃ (x : _)(_ : x ∈ s)(y : _)(_ : y ∈ s)(hxy : x ≠ y), dist x y < d := @@ -442,12 +766,24 @@ theorem Nontrivial.infsep_lt_iff {d} (hs : s.Nontrivial) : exact hs.le_infsep_iff #align set.nontrivial.infsep_lt_iff Set.Nontrivial.infsep_lt_iff +/- warning: set.nontrivial.le_infsep -> Set.Nontrivial.le_infsep is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real}, (Set.Nontrivial.{u1} α s) -> (forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall (y : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.hasLe d (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1) x y)))) -> (LE.le.{0} Real Real.hasLe d (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real}, (Set.Nontrivial.{u1} α s) -> (forall (x : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall (y : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.instLEReal d (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1) x y)))) -> (LE.le.{0} Real Real.instLEReal d (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s)) +Case conversion may be inaccurate. Consider using '#align set.nontrivial.le_infsep Set.Nontrivial.le_infsepₓ'. -/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ theorem Nontrivial.le_infsep {d} (hs : s.Nontrivial) (h : ∀ (x) (_ : x ∈ s) (y) (_ : y ∈ s) (hxy : x ≠ y), d ≤ dist x y) : d ≤ s.infsep := hs.le_infsep_iff.2 h #align set.nontrivial.le_infsep Set.Nontrivial.le_infsep +/- warning: set.le_edist_of_le_infsep -> Set.le_edist_of_le_infsep is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real} {x : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall {y : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.hasLe d (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s)) -> (LE.le.{0} Real Real.hasLe d (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1) x y))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real} {x : α}, (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall {y : α}, (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.instLEReal d (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s)) -> (LE.le.{0} Real Real.instLEReal d (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1) x y))) +Case conversion may be inaccurate. Consider using '#align set.le_edist_of_le_infsep Set.le_edist_of_le_infsepₓ'. -/ theorem le_edist_of_le_infsep {d x} (hx : x ∈ s) {y} (hy : y ∈ s) (hxy : x ≠ y) (hd : d ≤ s.infsep) : d ≤ dist x y := by @@ -458,21 +794,41 @@ theorem le_edist_of_le_infsep {d x} (hx : x ∈ s) {y} (hy : y ∈ s) (hxy : x exact le_trans hd dist_nonneg #align set.le_edist_of_le_infsep Set.le_edist_of_le_infsep +/- warning: set.infsep_le_dist_of_mem -> Set.infsep_le_dist_of_mem is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {x : α} {y : α} {s : Set.{u1} α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.hasLe (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1) x y)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {x : α} {y : α} {s : Set.{u1} α}, (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.instLEReal (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1) x y)) +Case conversion may be inaccurate. Consider using '#align set.infsep_le_dist_of_mem Set.infsep_le_dist_of_memₓ'. -/ theorem infsep_le_dist_of_mem (hx : x ∈ s) (hy : y ∈ s) (hxy : x ≠ y) : s.infsep ≤ dist x y := le_edist_of_le_infsep hx hy hxy le_rfl #align set.infsep_le_dist_of_mem Set.infsep_le_dist_of_mem +/- warning: set.infsep_le_of_mem_of_edist_le -> Set.infsep_le_of_mem_of_edist_le is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real} {x : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (forall {y : α}, (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.hasLe (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1) x y) d) -> (LE.le.{0} Real Real.hasLe (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) d)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {d : Real} {x : α}, (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (forall {y : α}, (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) y s) -> (Ne.{succ u1} α x y) -> (LE.le.{0} Real Real.instLEReal (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1) x y) d) -> (LE.le.{0} Real Real.instLEReal (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) d)) +Case conversion may be inaccurate. Consider using '#align set.infsep_le_of_mem_of_edist_le Set.infsep_le_of_mem_of_edist_leₓ'. -/ theorem infsep_le_of_mem_of_edist_le {d x} (hx : x ∈ s) {y} (hy : y ∈ s) (hxy : x ≠ y) (hxy' : dist x y ≤ d) : s.infsep ≤ d := le_trans (infsep_le_dist_of_mem hx hy hxy) hxy' #align set.infsep_le_of_mem_of_edist_le Set.infsep_le_of_mem_of_edist_le +#print Set.infsep_pair /- theorem infsep_pair : ({x, y} : Set α).infsep = dist x y := by rw [infsep_pair_eq_to_real, edist_dist] exact ENNReal.toReal_ofReal dist_nonneg #align set.infsep_pair Set.infsep_pair +-/ +/- warning: set.infsep_triple -> Set.infsep_triple is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {x : α} {y : α} {z : α}, (Ne.{succ u1} α x y) -> (Ne.{succ u1} α y z) -> (Ne.{succ u1} α x z) -> (Eq.{1} Real (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) y (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) z)))) (Inf.inf.{0} Real Real.hasInf (Inf.inf.{0} Real Real.hasInf (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1) x y) (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1) x z)) (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1) y z))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {x : α} {y : α} {z : α}, (Ne.{succ u1} α x y) -> (Ne.{succ u1} α y z) -> (Ne.{succ u1} α x z) -> (Eq.{1} Real (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) y (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) z)))) (Inf.inf.{0} Real Real.instInfReal (Inf.inf.{0} Real Real.instInfReal (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1) x y) (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1) x z)) (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1) y z))) +Case conversion may be inaccurate. Consider using '#align set.infsep_triple Set.infsep_tripleₓ'. -/ theorem infsep_triple (hxy : x ≠ y) (hyz : y ≠ z) (hxz : x ≠ z) : ({x, y, z} : Set α).infsep = dist x y ⊓ dist x z ⊓ dist y z := by simp only [infsep, einfsep_triple hxy hyz hxz, ENNReal.toReal_inf, edist_ne_top x y, @@ -480,10 +836,22 @@ theorem infsep_triple (hxy : x ≠ y) (hyz : y ≠ z) (hxz : x ≠ z) : not_false_iff] #align set.infsep_triple Set.infsep_triple +/- warning: set.nontrivial.infsep_anti -> Set.Nontrivial.infsep_anti is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {t : Set.{u1} α}, (Set.Nontrivial.{u1} α s) -> (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s t) -> (LE.le.{0} Real Real.hasLe (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) t) (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} {t : Set.{u1} α}, (Set.Nontrivial.{u1} α s) -> (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) s t) -> (LE.le.{0} Real Real.instLEReal (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) t) (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s)) +Case conversion may be inaccurate. Consider using '#align set.nontrivial.infsep_anti Set.Nontrivial.infsep_antiₓ'. -/ theorem Nontrivial.infsep_anti (hs : s.Nontrivial) (hst : s ⊆ t) : t.infsep ≤ s.infsep := ENNReal.toReal_mono hs.einfsep_ne_top (einfsep_anti hst) #align set.nontrivial.infsep_anti Set.Nontrivial.infsep_anti +/- warning: set.infsep_eq_infi -> Set.infsep_eq_infᵢ is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Decidable (Set.Nontrivial.{u1} α s)], Eq.{1} Real (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) (ite.{1} Real (Set.Nontrivial.{u1} α s) _inst_2 (infᵢ.{0, succ u1} Real Real.hasInf (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (fun (d : coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) => Function.uncurry.{u1, u1, 0} α α Real (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (coeSubtype.{succ u1} (Prod.{u1, u1} α α) (fun (x : Prod.{u1, u1} α α) => Membership.Mem.{u1, u1} (Prod.{u1, u1} α α) (Set.{u1} (Prod.{u1, u1} α α)) (Set.hasMem.{u1} (Prod.{u1, u1} α α)) x (Set.offDiag.{u1} α s)))))) d))) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Decidable (Set.Nontrivial.{u1} α s)], Eq.{1} Real (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) (ite.{1} Real (Set.Nontrivial.{u1} α s) _inst_2 (infᵢ.{0, succ u1} Real Real.instInfSetReal (Set.Elem.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) (fun (d : Set.Elem.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) => Function.uncurry.{u1, u1, 0} α α Real (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1)) (Subtype.val.{succ u1} (Prod.{u1, u1} α α) (fun (x : Prod.{u1, u1} α α) => Membership.mem.{u1, u1} (Prod.{u1, u1} α α) (Set.{u1} (Prod.{u1, u1} α α)) (Set.instMembershipSet.{u1} (Prod.{u1, u1} α α)) x (Set.offDiag.{u1} α s)) d))) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) +Case conversion may be inaccurate. Consider using '#align set.infsep_eq_infi Set.infsep_eq_infᵢₓ'. -/ theorem infsep_eq_infᵢ [Decidable s.Nontrivial] : s.infsep = if s.Nontrivial then ⨅ d : s.offDiag, (uncurry dist) (d : α × α) else 0 := by @@ -500,11 +868,23 @@ theorem infsep_eq_infᵢ [Decidable s.Nontrivial] : · exact (not_nontrivial_iff.mp hs).infsep_zero #align set.infsep_eq_infi Set.infsep_eq_infᵢ +/- warning: set.nontrivial.infsep_eq_infi -> Set.Nontrivial.infsep_eq_infᵢ is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Nontrivial.{u1} α s) -> (Eq.{1} Real (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) (infᵢ.{0, succ u1} Real Real.hasInf (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (fun (d : coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) => Function.uncurry.{u1, u1, 0} α α Real (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Prod.{u1, u1} α α)) Type.{u1} (Set.hasCoeToSort.{u1} (Prod.{u1, u1} α α)) (Set.offDiag.{u1} α s)) (Prod.{u1, u1} α α) (coeSubtype.{succ u1} (Prod.{u1, u1} α α) (fun (x : Prod.{u1, u1} α α) => Membership.Mem.{u1, u1} (Prod.{u1, u1} α α) (Set.{u1} (Prod.{u1, u1} α α)) (Set.hasMem.{u1} (Prod.{u1, u1} α α)) x (Set.offDiag.{u1} α s)))))) d)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Nontrivial.{u1} α s) -> (Eq.{1} Real (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) (infᵢ.{0, succ u1} Real Real.instInfSetReal (Set.Elem.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) (fun (d : Set.Elem.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) => Function.uncurry.{u1, u1, 0} α α Real (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1)) (Subtype.val.{succ u1} (Prod.{u1, u1} α α) (fun (x : Prod.{u1, u1} α α) => Membership.mem.{u1, u1} (Prod.{u1, u1} α α) (Set.{u1} (Prod.{u1, u1} α α)) (Set.instMembershipSet.{u1} (Prod.{u1, u1} α α)) x (Set.offDiag.{u1} α s)) d)))) +Case conversion may be inaccurate. Consider using '#align set.nontrivial.infsep_eq_infi Set.Nontrivial.infsep_eq_infᵢₓ'. -/ theorem Nontrivial.infsep_eq_infᵢ (hs : s.Nontrivial) : s.infsep = ⨅ d : s.offDiag, (uncurry dist) (d : α × α) := by classical rw [infsep_eq_infi, if_pos hs] #align set.nontrivial.infsep_eq_infi Set.Nontrivial.infsep_eq_infᵢ +/- warning: set.infsep_of_fintype -> Set.infsep_of_fintype is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Decidable (Set.Nontrivial.{u1} α s)] [_inst_3 : DecidableEq.{succ u1} α] [_inst_4 : Fintype.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s)], Eq.{1} Real (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) (dite.{1} Real (Set.Nontrivial.{u1} α s) _inst_2 (fun (hs : Set.Nontrivial.{u1} α s) => Finset.inf'.{0, u1} Real (Prod.{u1, u1} α α) Real.semilatticeInf (Set.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_3 a b) s _inst_4)) (Eq.mpr.{0} (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_3 a b) s _inst_4))) (Set.Nontrivial.{u1} α s) (id_tag Tactic.IdTag.simp (Eq.{1} Prop (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_3 a b) s _inst_4))) (Set.Nontrivial.{u1} α s)) (Eq.trans.{1} Prop (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_3 a b) s _inst_4))) (Set.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) (Set.Nontrivial.{u1} α s) (propext (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_3 a b) s _inst_4))) (Set.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) (Set.toFinset_nonempty.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_3 a b) s _inst_4))) (propext (Set.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) (Set.Nontrivial.{u1} α s) (Set.offDiag_nonempty.{u1} α s)))) hs) (Function.uncurry.{u1, u1, 0} α α Real (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1)))) (fun (hs : Not (Set.Nontrivial.{u1} α s)) => OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Decidable (Set.Nontrivial.{u1} α s)] [_inst_3 : DecidableEq.{succ u1} α] [_inst_4 : Fintype.{u1} (Set.Elem.{u1} α s)], Eq.{1} Real (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) (dite.{1} Real (Set.Nontrivial.{u1} α s) _inst_2 (fun (hs : Set.Nontrivial.{u1} α s) => Finset.inf'.{0, u1} Real (Prod.{u1, u1} α α) Real.instSemilatticeInfReal (Set.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_3 a b) s _inst_4)) (Eq.mpr.{0} (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_3 a b) s _inst_4))) (Set.Nontrivial.{u1} α s) (id.{0} (Eq.{1} Prop (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_3 a b) s _inst_4))) (Set.Nontrivial.{u1} α s)) (Eq.trans.{1} Prop (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_3 a b) s _inst_4))) (Set.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) (Set.Nontrivial.{u1} α s) (Mathlib.Data.Fintype.Basic._auxLemma.20.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.fintypeOffDiag.{u1} α (fun (a : α) (b : α) => _inst_3 a b) s _inst_4)) (Mathlib.Data.Set.Prod._auxLemma.34.{u1} α s))) hs) (Function.uncurry.{u1, u1, 0} α α Real (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1)))) (fun (hs : Not (Set.Nontrivial.{u1} α s)) => OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) +Case conversion may be inaccurate. Consider using '#align set.infsep_of_fintype Set.infsep_of_fintypeₓ'. -/ theorem infsep_of_fintype [Decidable s.Nontrivial] [DecidableEq α] [Fintype s] : s.infsep = if hs : s.Nontrivial then s.offDiag.toFinset.inf' (by simpa) (uncurry dist) else 0 := by @@ -516,11 +896,19 @@ theorem infsep_of_fintype [Decidable s.Nontrivial] [DecidableEq α] [Fintype s] exact hs.infsep_zero #align set.infsep_of_fintype Set.infsep_of_fintype +#print Set.Nontrivial.infsep_of_fintype /- theorem Nontrivial.infsep_of_fintype [DecidableEq α] [Fintype s] (hs : s.Nontrivial) : s.infsep = s.offDiag.toFinset.inf' (by simpa) (uncurry dist) := by classical rw [infsep_of_fintype, dif_pos hs] #align set.nontrivial.infsep_of_fintype Set.Nontrivial.infsep_of_fintype +-/ +/- warning: set.finite.infsep -> Set.Finite.infsep is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Decidable (Set.Nontrivial.{u1} α s)] (hsf : Set.Finite.{u1} α s), Eq.{1} Real (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) s) (dite.{1} Real (Set.Nontrivial.{u1} α s) _inst_2 (fun (hs : Set.Nontrivial.{u1} α s) => Finset.inf'.{0, u1} Real (Prod.{u1, u1} α α) Real.semilatticeInf (Set.Finite.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hsf)) (Eq.mpr.{0} (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.Finite.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hsf))) (Set.Nontrivial.{u1} α s) (id_tag Tactic.IdTag.simp (Eq.{1} Prop (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.Finite.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hsf))) (Set.Nontrivial.{u1} α s)) (Eq.trans.{1} Prop (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.Finite.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hsf))) (Set.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) (Set.Nontrivial.{u1} α s) (propext (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.Finite.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hsf))) (Set.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) (Set.Finite.toFinset_nonempty.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hsf))) (propext (Set.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) (Set.Nontrivial.{u1} α s) (Set.offDiag_nonempty.{u1} α s)))) hs) (Function.uncurry.{u1, u1, 0} α α Real (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1)))) (fun (hs : Not (Set.Nontrivial.{u1} α s)) => OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Decidable (Set.Nontrivial.{u1} α s)] (hsf : Set.Finite.{u1} α s), Eq.{1} Real (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) s) (dite.{1} Real (Set.Nontrivial.{u1} α s) _inst_2 (fun (hs : Set.Nontrivial.{u1} α s) => Finset.inf'.{0, u1} Real (Prod.{u1, u1} α α) Real.instSemilatticeInfReal (Set.Finite.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hsf)) (Eq.mpr.{0} (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.Finite.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hsf))) (Set.Nontrivial.{u1} α s) (id.{0} (Eq.{1} Prop (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.Finite.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hsf))) (Set.Nontrivial.{u1} α s)) (Eq.trans.{1} Prop (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.Finite.toFinset.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hsf))) (Set.Nonempty.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s)) (Set.Nontrivial.{u1} α s) (Mathlib.Data.Set.Finite._auxLemma.3.{u1} (Prod.{u1, u1} α α) (Set.offDiag.{u1} α s) (Set.Finite.offDiag.{u1} α s hsf)) (Mathlib.Data.Set.Prod._auxLemma.34.{u1} α s))) hs) (Function.uncurry.{u1, u1, 0} α α Real (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1)))) (fun (hs : Not (Set.Nontrivial.{u1} α s)) => OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) +Case conversion may be inaccurate. Consider using '#align set.finite.infsep Set.Finite.infsepₓ'. -/ theorem Finite.infsep [Decidable s.Nontrivial] (hsf : s.Finite) : s.infsep = if hs : s.Nontrivial then hsf.offDiag.toFinset.inf' (by simpa) (uncurry dist) else 0 := @@ -533,12 +921,20 @@ theorem Finite.infsep [Decidable s.Nontrivial] (hsf : s.Finite) : exact hs.infsep_zero #align set.finite.infsep Set.Finite.infsep +#print Set.Finite.infsep_of_nontrivial /- theorem Finite.infsep_of_nontrivial (hsf : s.Finite) (hs : s.Nontrivial) : s.infsep = hsf.offDiag.toFinset.inf' (by simpa) (uncurry dist) := by classical simp_rw [hsf.infsep, dif_pos hs] #align set.finite.infsep_of_nontrivial Set.Finite.infsep_of_nontrivial +-/ -theorem Finset.coe_infsep [DecidableEq α] (s : Finset α) : +/- warning: finset.coe_infsep -> Set.Finset.coe_infsep is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] (s : Finset.{u1} α), Eq.{1} Real (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)) (dite.{1} Real (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s)) (Finset.decidableNonempty.{u1} (Prod.{u1, u1} α α) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s)) (fun (hs : Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s)) => Finset.inf'.{0, u1} Real (Prod.{u1, u1} α α) Real.semilatticeInf (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s) hs (Function.uncurry.{u1, u1, 0} α α Real (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α _inst_1)))) (fun (hs : Not (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s))) => OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] (s : Finset.{u1} α), Eq.{1} Real (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) (Finset.toSet.{u1} α s)) (dite.{1} Real (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s)) (Finset.decidableNonempty.{u1} (Prod.{u1, u1} α α) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s)) (fun (hs : Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s)) => Finset.inf'.{0, u1} Real (Prod.{u1, u1} α α) Real.instSemilatticeInfReal (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s) hs (Function.uncurry.{u1, u1, 0} α α Real (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α _inst_1)))) (fun (hs : Not (Finset.Nonempty.{u1} (Prod.{u1, u1} α α) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s))) => OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) +Case conversion may be inaccurate. Consider using '#align finset.coe_infsep Set.Finset.coe_infsepₓ'. -/ +theorem Set.Finset.coe_infsep [DecidableEq α] (s : Finset α) : (s : Set α).infsep = if hs : s.offDiag.Nonempty then s.offDiag.inf' hs (uncurry dist) else 0 := by have H : (s : Set α).Nontrivial ↔ s.off_diag.nonempty := by @@ -546,21 +942,30 @@ theorem Finset.coe_infsep [DecidableEq α] (s : Finset α) : split_ifs with hs · simp_rw [(H.mpr hs).infsep_of_fintype, ← Finset.coe_offDiag, Finset.toFinset_coe] · exact (not_nontrivial_iff.mp (H.mp.mt hs)).infsep_zero -#align finset.coe_infsep Finset.coe_infsep +#align finset.coe_infsep Set.Finset.coe_infsep -theorem Finset.coe_infsep_of_offDiag_nonempty [DecidableEq α] {s : Finset α} +#print Set.Finset.coe_infsep_of_offDiag_nonempty /- +theorem Set.Finset.coe_infsep_of_offDiag_nonempty [DecidableEq α] {s : Finset α} (hs : s.offDiag.Nonempty) : (s : Set α).infsep = s.offDiag.inf' hs (uncurry dist) := by - rw [Finset.coe_infsep, dif_pos hs] -#align finset.coe_infsep_of_off_diag_nonempty Finset.coe_infsep_of_offDiag_nonempty + rw [Set.Finset.coe_infsep, dif_pos hs] +#align finset.coe_infsep_of_off_diag_nonempty Set.Finset.coe_infsep_of_offDiag_nonempty +-/ -theorem Finset.coe_infsep_of_offDiag_empty [DecidableEq α] {s : Finset α} (hs : s.offDiag = ∅) : +/- warning: finset.coe_infsep_of_off_diag_empty -> Set.Finset.coe_infsep_of_offDiag_empty is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {s : Finset.{u1} α}, (Eq.{succ u1} (Finset.{u1} (Prod.{u1, u1} α α)) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Prod.{u1, u1} α α)) (Finset.hasEmptyc.{u1} (Prod.{u1, u1} α α)))) -> (Eq.{1} Real (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : PseudoMetricSpace.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {s : Finset.{u1} α}, (Eq.{succ u1} (Finset.{u1} (Prod.{u1, u1} α α)) (Finset.offDiag.{u1} α (fun (a : α) (b : α) => _inst_2 a b) s) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Prod.{u1, u1} α α)) (Finset.instEmptyCollectionFinset.{u1} (Prod.{u1, u1} α α)))) -> (Eq.{1} Real (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (PseudoMetricSpace.toPseudoEMetricSpace.{u1} α _inst_1)) (Finset.toSet.{u1} α s)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) +Case conversion may be inaccurate. Consider using '#align finset.coe_infsep_of_off_diag_empty Set.Finset.coe_infsep_of_offDiag_emptyₓ'. -/ +theorem Set.Finset.coe_infsep_of_offDiag_empty [DecidableEq α] {s : Finset α} (hs : s.offDiag = ∅) : (s : Set α).infsep = 0 := by rw [← Finset.not_nonempty_iff_eq_empty] at hs - rw [Finset.coe_infsep, dif_neg hs] -#align finset.coe_infsep_of_off_diag_empty Finset.coe_infsep_of_offDiag_empty + rw [Set.Finset.coe_infsep, dif_neg hs] +#align finset.coe_infsep_of_off_diag_empty Set.Finset.coe_infsep_of_offDiag_empty /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ +#print Set.Nontrivial.infsep_exists_of_finite /- theorem Nontrivial.infsep_exists_of_finite [Finite s] (hs : s.Nontrivial) : ∃ (x : _)(_ : x ∈ s)(y : _)(_ : y ∈ s)(hxy : x ≠ y), s.infsep = dist x y := by classical @@ -571,13 +976,16 @@ theorem Nontrivial.infsep_exists_of_finite [Finite s] (hs : s.Nontrivial) : simp_rw [mem_to_finset] at hxy exact ⟨w.fst, hxy.1, w.snd, hxy.2.1, hxy.2.2, hed⟩ #align set.nontrivial.infsep_exists_of_finite Set.Nontrivial.infsep_exists_of_finite +-/ /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x y «expr ∈ » s) -/ +#print Set.Finite.infsep_exists_of_nontrivial /- theorem Finite.infsep_exists_of_nontrivial (hsf : s.Finite) (hs : s.Nontrivial) : ∃ (x : _)(_ : x ∈ s)(y : _)(_ : y ∈ s)(hxy : x ≠ y), s.infsep = dist x y := letI := hsf.fintype hs.infsep_exists_of_finite #align set.finite.infsep_exists_of_nontrivial Set.Finite.infsep_exists_of_nontrivial +-/ end PseudoMetricSpace @@ -585,37 +993,73 @@ section MetricSpace variable [MetricSpace α] {s : Set α} +/- warning: set.infsep_zero_iff_subsingleton_of_finite -> Set.infsep_zero_iff_subsingleton_of_finite is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Finite.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s)], Iff (Eq.{1} Real (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α (MetricSpace.toPseudoMetricSpace.{u1} α _inst_1)) s) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (Set.Subsingleton.{u1} α s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Finite.{succ u1} (Set.Elem.{u1} α s)], Iff (Eq.{1} Real (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (EMetricSpace.toPseudoEMetricSpace.{u1} α (MetricSpace.toEMetricSpace.{u1} α _inst_1))) s) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (Set.Subsingleton.{u1} α s) +Case conversion may be inaccurate. Consider using '#align set.infsep_zero_iff_subsingleton_of_finite Set.infsep_zero_iff_subsingleton_of_finiteₓ'. -/ theorem infsep_zero_iff_subsingleton_of_finite [Finite s] : s.infsep = 0 ↔ s.Subsingleton := by rw [infsep_zero, einfsep_eq_top_iff, or_iff_right_iff_imp] exact fun H => (einfsep_pos_of_finite.ne' H).elim #align set.infsep_zero_iff_subsingleton_of_finite Set.infsep_zero_iff_subsingleton_of_finite +/- warning: set.infsep_pos_iff_nontrivial_of_finite -> Set.infsep_pos_iff_nontrivial_of_finite is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Finite.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s)], Iff (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α (MetricSpace.toPseudoMetricSpace.{u1} α _inst_1)) s)) (Set.Nontrivial.{u1} α s) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] {s : Set.{u1} α} [_inst_2 : Finite.{succ u1} (Set.Elem.{u1} α s)], Iff (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (EMetricSpace.toPseudoEMetricSpace.{u1} α (MetricSpace.toEMetricSpace.{u1} α _inst_1))) s)) (Set.Nontrivial.{u1} α s) +Case conversion may be inaccurate. Consider using '#align set.infsep_pos_iff_nontrivial_of_finite Set.infsep_pos_iff_nontrivial_of_finiteₓ'. -/ theorem infsep_pos_iff_nontrivial_of_finite [Finite s] : 0 < s.infsep ↔ s.Nontrivial := by rw [infsep_pos, einfsep_lt_top_iff, and_iff_right_iff_imp] exact fun _ => einfsep_pos_of_finite #align set.infsep_pos_iff_nontrivial_of_finite Set.infsep_pos_iff_nontrivial_of_finite +/- warning: set.finite.infsep_zero_iff_subsingleton -> Set.Finite.infsep_zero_iff_subsingleton is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Finite.{u1} α s) -> (Iff (Eq.{1} Real (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α (MetricSpace.toPseudoMetricSpace.{u1} α _inst_1)) s) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (Set.Subsingleton.{u1} α s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Finite.{u1} α s) -> (Iff (Eq.{1} Real (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (EMetricSpace.toPseudoEMetricSpace.{u1} α (MetricSpace.toEMetricSpace.{u1} α _inst_1))) s) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (Set.Subsingleton.{u1} α s)) +Case conversion may be inaccurate. Consider using '#align set.finite.infsep_zero_iff_subsingleton Set.Finite.infsep_zero_iff_subsingletonₓ'. -/ theorem Finite.infsep_zero_iff_subsingleton (hs : s.Finite) : s.infsep = 0 ↔ s.Subsingleton := letI := hs.fintype infsep_zero_iff_subsingleton_of_finite #align set.finite.infsep_zero_iff_subsingleton Set.Finite.infsep_zero_iff_subsingleton +/- warning: set.finite.infsep_pos_iff_nontrivial -> Set.Finite.infsep_pos_iff_nontrivial is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Finite.{u1} α s) -> (Iff (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α (MetricSpace.toPseudoMetricSpace.{u1} α _inst_1)) s)) (Set.Nontrivial.{u1} α s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] {s : Set.{u1} α}, (Set.Finite.{u1} α s) -> (Iff (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (EMetricSpace.toPseudoEMetricSpace.{u1} α (MetricSpace.toEMetricSpace.{u1} α _inst_1))) s)) (Set.Nontrivial.{u1} α s)) +Case conversion may be inaccurate. Consider using '#align set.finite.infsep_pos_iff_nontrivial Set.Finite.infsep_pos_iff_nontrivialₓ'. -/ theorem Finite.infsep_pos_iff_nontrivial (hs : s.Finite) : 0 < s.infsep ↔ s.Nontrivial := letI := hs.fintype infsep_pos_iff_nontrivial_of_finite #align set.finite.infsep_pos_iff_nontrivial Set.Finite.infsep_pos_iff_nontrivial -theorem Finset.infsep_zero_iff_subsingleton (s : Finset α) : +/- warning: finset.infsep_zero_iff_subsingleton -> Set.Finset.infsep_zero_iff_subsingleton is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] (s : Finset.{u1} α), Iff (Eq.{1} Real (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α (MetricSpace.toPseudoMetricSpace.{u1} α _inst_1)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (Set.Subsingleton.{u1} α ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] (s : Finset.{u1} α), Iff (Eq.{1} Real (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (EMetricSpace.toPseudoEMetricSpace.{u1} α (MetricSpace.toEMetricSpace.{u1} α _inst_1))) (Finset.toSet.{u1} α s)) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (Set.Subsingleton.{u1} α (Finset.toSet.{u1} α s)) +Case conversion may be inaccurate. Consider using '#align finset.infsep_zero_iff_subsingleton Set.Finset.infsep_zero_iff_subsingletonₓ'. -/ +theorem Set.Finset.infsep_zero_iff_subsingleton (s : Finset α) : (s : Set α).infsep = 0 ↔ (s : Set α).Subsingleton := infsep_zero_iff_subsingleton_of_finite -#align finset.infsep_zero_iff_subsingleton Finset.infsep_zero_iff_subsingleton - -theorem Finset.infsep_pos_iff_nontrivial (s : Finset α) : +#align finset.infsep_zero_iff_subsingleton Set.Finset.infsep_zero_iff_subsingleton + +/- warning: finset.infsep_pos_iff_nontrivial -> Set.Finset.infsep_pos_iff_nontrivial is a dubious translation: +lean 3 declaration is + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] (s : Finset.{u1} α), Iff (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Set.infsep.{u1} α (PseudoMetricSpace.toEDist.{u1} α (MetricSpace.toPseudoMetricSpace.{u1} α _inst_1)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s))) (Set.Nontrivial.{u1} α ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)) +but is expected to have type + forall {α : Type.{u1}} [_inst_1 : MetricSpace.{u1} α] (s : Finset.{u1} α), Iff (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Set.infsep.{u1} α (PseudoEMetricSpace.toEDist.{u1} α (EMetricSpace.toPseudoEMetricSpace.{u1} α (MetricSpace.toEMetricSpace.{u1} α _inst_1))) (Finset.toSet.{u1} α s))) (Set.Nontrivial.{u1} α (Finset.toSet.{u1} α s)) +Case conversion may be inaccurate. Consider using '#align finset.infsep_pos_iff_nontrivial Set.Finset.infsep_pos_iff_nontrivialₓ'. -/ +theorem Set.Finset.infsep_pos_iff_nontrivial (s : Finset α) : 0 < (s : Set α).infsep ↔ (s : Set α).Nontrivial := infsep_pos_iff_nontrivial_of_finite -#align finset.infsep_pos_iff_nontrivial Finset.infsep_pos_iff_nontrivial +#align finset.infsep_pos_iff_nontrivial Set.Finset.infsep_pos_iff_nontrivial end MetricSpace diff --git a/Mathbin/Topology/MetricSpace/MetricSeparated.lean b/Mathbin/Topology/MetricSpace/MetricSeparated.lean index 54e1311284..8748bf7398 100644 --- a/Mathbin/Topology/MetricSpace/MetricSeparated.lean +++ b/Mathbin/Topology/MetricSpace/MetricSeparated.lean @@ -26,59 +26,93 @@ open Emetric Set noncomputable section /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (r «expr ≠ » 0) -/ +#print IsMetricSeparated /- /-- Two sets in an (extended) metric space are called *metric separated* if the (extended) distance between `x ∈ s` and `y ∈ t` is bounded from below by a positive constant. -/ def IsMetricSeparated {X : Type _} [EMetricSpace X] (s t : Set X) := ∃ (r : _)(_ : r ≠ 0), ∀ x ∈ s, ∀ y ∈ t, r ≤ edist x y #align is_metric_separated IsMetricSeparated +-/ namespace IsMetricSeparated variable {X : Type _} [EMetricSpace X] {s t : Set X} {x y : X} +#print IsMetricSeparated.symm /- @[symm] theorem symm (h : IsMetricSeparated s t) : IsMetricSeparated t s := let ⟨r, r0, hr⟩ := h ⟨r, r0, fun y hy x hx => edist_comm x y ▸ hr x hx y hy⟩ #align is_metric_separated.symm IsMetricSeparated.symm +-/ +#print IsMetricSeparated.comm /- theorem comm : IsMetricSeparated s t ↔ IsMetricSeparated t s := ⟨symm, symm⟩ #align is_metric_separated.comm IsMetricSeparated.comm +-/ +#print IsMetricSeparated.empty_left /- @[simp] theorem empty_left (s : Set X) : IsMetricSeparated ∅ s := ⟨1, one_ne_zero, fun x => False.elim⟩ #align is_metric_separated.empty_left IsMetricSeparated.empty_left +-/ +#print IsMetricSeparated.empty_right /- @[simp] theorem empty_right (s : Set X) : IsMetricSeparated s ∅ := (empty_left s).symm #align is_metric_separated.empty_right IsMetricSeparated.empty_right +-/ +/- warning: is_metric_separated.disjoint -> IsMetricSeparated.disjoint is a dubious translation: +lean 3 declaration is + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X}, (IsMetricSeparated.{u1} X _inst_1 s t) -> (Disjoint.{u1} (Set.{u1} X) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} X) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} X) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} X) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} X) (Set.completeBooleanAlgebra.{u1} X)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} X) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} X) (Set.booleanAlgebra.{u1} X))) s t) +but is expected to have type + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X}, (IsMetricSeparated.{u1} X _inst_1 s t) -> (Disjoint.{u1} (Set.{u1} X) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} X) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} X) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} X) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} X) (Set.instCompleteBooleanAlgebraSet.{u1} X)))))) (BoundedOrder.toOrderBot.{u1} (Set.{u1} X) (Preorder.toLE.{u1} (Set.{u1} X) (PartialOrder.toPreorder.{u1} (Set.{u1} X) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} X) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} X) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} X) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} X) (Set.instCompleteBooleanAlgebraSet.{u1} X)))))))) (CompleteLattice.toBoundedOrder.{u1} (Set.{u1} X) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} X) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} X) (Set.instCompleteBooleanAlgebraSet.{u1} X)))))) s t) +Case conversion may be inaccurate. Consider using '#align is_metric_separated.disjoint IsMetricSeparated.disjointₓ'. -/ protected theorem disjoint (h : IsMetricSeparated s t) : Disjoint s t := let ⟨r, r0, hr⟩ := h Set.disjoint_left.mpr fun x hx1 hx2 => r0 <| by simpa using hr x hx1 x hx2 #align is_metric_separated.disjoint IsMetricSeparated.disjoint +/- warning: is_metric_separated.subset_compl_right -> IsMetricSeparated.subset_compl_right is a dubious translation: +lean 3 declaration is + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X}, (IsMetricSeparated.{u1} X _inst_1 s t) -> (HasSubset.Subset.{u1} (Set.{u1} X) (Set.hasSubset.{u1} X) s (HasCompl.compl.{u1} (Set.{u1} X) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} X) (Set.booleanAlgebra.{u1} X)) t)) +but is expected to have type + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X}, (IsMetricSeparated.{u1} X _inst_1 s t) -> (HasSubset.Subset.{u1} (Set.{u1} X) (Set.instHasSubsetSet.{u1} X) s (HasCompl.compl.{u1} (Set.{u1} X) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} X) (Set.instBooleanAlgebraSet.{u1} X)) t)) +Case conversion may be inaccurate. Consider using '#align is_metric_separated.subset_compl_right IsMetricSeparated.subset_compl_rightₓ'. -/ theorem subset_compl_right (h : IsMetricSeparated s t) : s ⊆ tᶜ := fun x hs ht => h.Disjoint.le_bot ⟨hs, ht⟩ #align is_metric_separated.subset_compl_right IsMetricSeparated.subset_compl_right +#print IsMetricSeparated.mono /- @[mono] theorem mono {s' t'} (hs : s ⊆ s') (ht : t ⊆ t') : IsMetricSeparated s' t' → IsMetricSeparated s t := fun ⟨r, r0, hr⟩ => ⟨r, r0, fun x hx y hy => hr x (hs hx) y (ht hy)⟩ #align is_metric_separated.mono IsMetricSeparated.mono +-/ +#print IsMetricSeparated.mono_left /- theorem mono_left {s'} (h' : IsMetricSeparated s' t) (hs : s ⊆ s') : IsMetricSeparated s t := h'.mono hs Subset.rfl #align is_metric_separated.mono_left IsMetricSeparated.mono_left +-/ +#print IsMetricSeparated.mono_right /- theorem mono_right {t'} (h' : IsMetricSeparated s t') (ht : t ⊆ t') : IsMetricSeparated s t := h'.mono Subset.rfl ht #align is_metric_separated.mono_right IsMetricSeparated.mono_right +-/ +/- warning: is_metric_separated.union_left -> IsMetricSeparated.union_left is a dubious translation: +lean 3 declaration is + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X} {s' : Set.{u1} X}, (IsMetricSeparated.{u1} X _inst_1 s t) -> (IsMetricSeparated.{u1} X _inst_1 s' t) -> (IsMetricSeparated.{u1} X _inst_1 (Union.union.{u1} (Set.{u1} X) (Set.hasUnion.{u1} X) s s') t) +but is expected to have type + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X} {s' : Set.{u1} X}, (IsMetricSeparated.{u1} X _inst_1 s t) -> (IsMetricSeparated.{u1} X _inst_1 s' t) -> (IsMetricSeparated.{u1} X _inst_1 (Union.union.{u1} (Set.{u1} X) (Set.instUnionSet.{u1} X) s s') t) +Case conversion may be inaccurate. Consider using '#align is_metric_separated.union_left IsMetricSeparated.union_leftₓ'. -/ theorem union_left {s'} (h : IsMetricSeparated s t) (h' : IsMetricSeparated s' t) : IsMetricSeparated (s ∪ s') t := by @@ -90,6 +124,12 @@ theorem union_left {s'} (h : IsMetricSeparated s t) (h' : IsMetricSeparated s' t · exact fun hx => (min_le_right _ _).trans (hr' _ hx _ hy) #align is_metric_separated.union_left IsMetricSeparated.union_left +/- warning: is_metric_separated.union_left_iff -> IsMetricSeparated.union_left_iff is a dubious translation: +lean 3 declaration is + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X} {s' : Set.{u1} X}, Iff (IsMetricSeparated.{u1} X _inst_1 (Union.union.{u1} (Set.{u1} X) (Set.hasUnion.{u1} X) s s') t) (And (IsMetricSeparated.{u1} X _inst_1 s t) (IsMetricSeparated.{u1} X _inst_1 s' t)) +but is expected to have type + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X} {s' : Set.{u1} X}, Iff (IsMetricSeparated.{u1} X _inst_1 (Union.union.{u1} (Set.{u1} X) (Set.instUnionSet.{u1} X) s s') t) (And (IsMetricSeparated.{u1} X _inst_1 s t) (IsMetricSeparated.{u1} X _inst_1 s' t)) +Case conversion may be inaccurate. Consider using '#align is_metric_separated.union_left_iff IsMetricSeparated.union_left_iffₓ'. -/ @[simp] theorem union_left_iff {s'} : IsMetricSeparated (s ∪ s') t ↔ IsMetricSeparated s t ∧ IsMetricSeparated s' t := @@ -97,46 +137,66 @@ theorem union_left_iff {s'} : h.1.union_left h.2⟩ #align is_metric_separated.union_left_iff IsMetricSeparated.union_left_iff +/- warning: is_metric_separated.union_right -> IsMetricSeparated.union_right is a dubious translation: +lean 3 declaration is + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X} {t' : Set.{u1} X}, (IsMetricSeparated.{u1} X _inst_1 s t) -> (IsMetricSeparated.{u1} X _inst_1 s t') -> (IsMetricSeparated.{u1} X _inst_1 s (Union.union.{u1} (Set.{u1} X) (Set.hasUnion.{u1} X) t t')) +but is expected to have type + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X} {t' : Set.{u1} X}, (IsMetricSeparated.{u1} X _inst_1 s t) -> (IsMetricSeparated.{u1} X _inst_1 s t') -> (IsMetricSeparated.{u1} X _inst_1 s (Union.union.{u1} (Set.{u1} X) (Set.instUnionSet.{u1} X) t t')) +Case conversion may be inaccurate. Consider using '#align is_metric_separated.union_right IsMetricSeparated.union_rightₓ'. -/ theorem union_right {t'} (h : IsMetricSeparated s t) (h' : IsMetricSeparated s t') : IsMetricSeparated s (t ∪ t') := (h.symm.union_left h'.symm).symm #align is_metric_separated.union_right IsMetricSeparated.union_right +/- warning: is_metric_separated.union_right_iff -> IsMetricSeparated.union_right_iff is a dubious translation: +lean 3 declaration is + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X} {t' : Set.{u1} X}, Iff (IsMetricSeparated.{u1} X _inst_1 s (Union.union.{u1} (Set.{u1} X) (Set.hasUnion.{u1} X) t t')) (And (IsMetricSeparated.{u1} X _inst_1 s t) (IsMetricSeparated.{u1} X _inst_1 s t')) +but is expected to have type + forall {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {s : Set.{u1} X} {t : Set.{u1} X} {t' : Set.{u1} X}, Iff (IsMetricSeparated.{u1} X _inst_1 s (Union.union.{u1} (Set.{u1} X) (Set.instUnionSet.{u1} X) t t')) (And (IsMetricSeparated.{u1} X _inst_1 s t) (IsMetricSeparated.{u1} X _inst_1 s t')) +Case conversion may be inaccurate. Consider using '#align is_metric_separated.union_right_iff IsMetricSeparated.union_right_iffₓ'. -/ @[simp] theorem union_right_iff {t'} : IsMetricSeparated s (t ∪ t') ↔ IsMetricSeparated s t ∧ IsMetricSeparated s t' := comm.trans <| union_left_iff.trans <| and_congr comm comm #align is_metric_separated.union_right_iff IsMetricSeparated.union_right_iff +#print IsMetricSeparated.finite_unionᵢ_left_iff /- theorem finite_unionᵢ_left_iff {ι : Type _} {I : Set ι} (hI : I.Finite) {s : ι → Set X} {t : Set X} : IsMetricSeparated (⋃ i ∈ I, s i) t ↔ ∀ i ∈ I, IsMetricSeparated (s i) t := by refine' finite.induction_on hI (by simp) fun i I hi _ hI => _ rw [bUnion_insert, ball_insert_iff, union_left_iff, hI] #align is_metric_separated.finite_Union_left_iff IsMetricSeparated.finite_unionᵢ_left_iff +-/ alias finite_Union_left_iff ↔ _ finite_Union_left #align is_metric_separated.finite_Union_left IsMetricSeparated.finite_unionᵢ_left +#print IsMetricSeparated.finite_unionᵢ_right_iff /- theorem finite_unionᵢ_right_iff {ι : Type _} {I : Set ι} (hI : I.Finite) {s : Set X} {t : ι → Set X} : IsMetricSeparated s (⋃ i ∈ I, t i) ↔ ∀ i ∈ I, IsMetricSeparated s (t i) := by simpa only [@comm _ _ s] using finite_Union_left_iff hI #align is_metric_separated.finite_Union_right_iff IsMetricSeparated.finite_unionᵢ_right_iff +-/ +#print IsMetricSeparated.finset_unionᵢ_left_iff /- @[simp] theorem finset_unionᵢ_left_iff {ι : Type _} {I : Finset ι} {s : ι → Set X} {t : Set X} : IsMetricSeparated (⋃ i ∈ I, s i) t ↔ ∀ i ∈ I, IsMetricSeparated (s i) t := finite_unionᵢ_left_iff I.finite_toSet #align is_metric_separated.finset_Union_left_iff IsMetricSeparated.finset_unionᵢ_left_iff +-/ alias finset_Union_left_iff ↔ _ finset_Union_left #align is_metric_separated.finset_Union_left IsMetricSeparated.finset_unionᵢ_left +#print IsMetricSeparated.finset_unionᵢ_right_iff /- @[simp] theorem finset_unionᵢ_right_iff {ι : Type _} {I : Finset ι} {s : Set X} {t : ι → Set X} : IsMetricSeparated s (⋃ i ∈ I, t i) ↔ ∀ i ∈ I, IsMetricSeparated s (t i) := finite_unionᵢ_right_iff I.finite_toSet #align is_metric_separated.finset_Union_right_iff IsMetricSeparated.finset_unionᵢ_right_iff +-/ alias finset_Union_right_iff ↔ _ finset_Union_right #align is_metric_separated.finset_Union_right IsMetricSeparated.finset_unionᵢ_right diff --git a/lake-manifest.json b/lake-manifest.json index 1127856123..c5fdb4c2fd 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": "4a16f2921a3e4ee31bbc776c66202c421ab4ece6", + "rev": "b8897354059c340b1561e88849e2e47b07064c85", "name": "lean3port", - "inputRev?": "4a16f2921a3e4ee31bbc776c66202c421ab4ece6"}}, + "inputRev?": "b8897354059c340b1561e88849e2e47b07064c85"}}, {"git": {"url": "https://github.com/leanprover-community/mathlib4.git", "subDir?": null, - "rev": "28c23e3c3744968baf25c65dadf7a117ec087dce", + "rev": "4b79ca509d24b98b78585fd3478d20562830e111", "name": "mathlib", - "inputRev?": "28c23e3c3744968baf25c65dadf7a117ec087dce"}}, + "inputRev?": "4b79ca509d24b98b78585fd3478d20562830e111"}}, {"git": {"url": "https://github.com/gebner/quote4", "subDir?": null, diff --git a/lakefile.lean b/lakefile.lean index 3bed3b8753..cc1387929c 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-04-08" +def tag : String := "nightly-2023-03-04-12" 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"@"4a16f2921a3e4ee31bbc776c66202c421ab4ece6" +require lean3port from git "https://github.com/leanprover-community/lean3port.git"@"b8897354059c340b1561e88849e2e47b07064c85" @[default_target] lean_lib Mathbin where